@Halo-Michael wrote:
需求: 在iOS上如果想创建一个APFS分区的话很简单,直接执行newfs_apfs -A /dev/disk0s1就可以在容器里面新建一个弹性APFS分区了。但是我想删掉创建出来的分区该怎么操作呢
操作步骤: 删除一个APFS分区
任何其他描述: 搜了半天资料,在ihttps://github.com/xybp888/iOS-SDKs/blob/master/iPhoneOS13.4.sdk/System/Library/PrivateFrameworks/UserFS.framework/PlugIns/livefiles_apfs.tbd里面,可以看到iOS上存在一个文件/System/Library/PrivateFrameworks/UserFS.framework/PlugIns/livefiles_apfs.dylib(在内核缓存里面),里面有一个符号_apfs_deletefs,猜想apfs_deletefs函数应该就是我们需要的删除分区的函数。但是该如何获取到这个函数如何使用的信息呢?xcode sdk里面并没有任何关于这个函数的内容。虽然可以通过dlopen和dlsym的方法直接动态调用这个函数,但是根本不知道应该把什么参数传给它才能达到删除分区的目的。
已知保存资料刷机不会删除手动创建的分区,但是不保存资料刷机或是直接恢复出厂设置都会删除手动创建的分区
环境: iOS13,只有iOS13才有livefiles_apfs.dylib这个文件。iOS12里面虽然在APFS.framework里面也能找到这个符号但是并没有livefiles_apfs.dylib这个文件(能通用其实更好)
Posts: 1
Participants: 1