iOS越狱开发中遇到的坑

当电脑连接多个iOS设备时,usbmuxd如何区分连接哪个设备?

usbmuxd 1.0.8版尚无法区分,始终连接最后一台接入电脑的iOS设备。

theos在make package install时提示以下错误:

dpkg-deb: error: deprecated compression type ‘lzma‘; use xz instead

此问题是由于dpkg 1.18.10版之后(不含此版本),已经强制禁止使用lzma。
theos目前尚无法完美解决此问题,临时方案时降级至1.18.10版。

$ brew remove dpkg  # remove latest dpkg
$ brew install --force-bottle https://raw.githubusercontent.com/Homebrew/homebrew-core/7a4dabfc1a2acd9f01a1670fde4f0094c4fb6ffa/Formula/dpkg.rb  # install dpkg as a bottle from the old commit
$ brew pin dpkg  # block homebrew from updating dpkg till you `brew unpin dpkg`

具体请参考:https://github.com/theos/theos/issues/211

theos在make package install时提示以下错误:

dpkg: error processing archive /tmp/_theos_install.deb (--install):
 trying to overwrite ‘/Library/MobileSubstrate/DynamicLibraries/xxx.dylib‘, which is also in package com.yourcompany.xxx 0.0.1-2+debug
dpkg-deb (subprocess): subprocess decompressing archive member was killed by signal (Broken pipe: 13)
dpkg-deb: error: subprocess <decompress> returned error exit status 2
Errors were encountered while processing:
 /tmp/_theos_install.deb
make: *** [internal-install] Error 1

去Cydia重新安装Cydia Substrate,重启SpringBoard后,在Cydia的已安装插件列表中找到com.yourcompany.xxx插件,卸载后重启SpringBoard即可。

theos工程make后生成的dylib文件在哪里?

在工程目录下的.theos/obj/debug目录中。

重新签名后的ipa包使用Impacter安装提示以下错误:

Impacter The watchkit 2.0 app being installed contains an invalid application executable

删除xxx.app/Watch目录即可。

砸壳后的armv7包重签名后能否安装到arm64设备上?

iOS 11以上版本不能。

设备已经安装了app,砸壳重签名后能否覆盖?

不能。
如果砸壳重签名后的app的Bundle ID更改了,只会安装为新的app。
如果Bundle ID没有更改,但是由于签名不同,所以无法覆盖安装,必须先删除原来的app才能安装砸壳重签名后的app。

为什么用Impacter可以成功安装砸壳重签名后的app,但是用Xcode或iTools等工具却无法成功安装?

重签名app时,务必选择正确的mobileprovision文件。
如果使用iOS App Signer工具重签名的话,请在Provisioning Profile一栏中选择正确的文件,同时确保与Signing Certificate是关联的,选择Re-Sign Only或是不同的Team ID是无法启动app的。

为什么用Impacter成功安装了砸壳重签名后的app,却无法打开?

如果app的Frameworks目录下有其它Framework,务必也砸壳重签名。
原版的dumpcrypted是无法对Framework进行砸壳的,需要去下面的地址下载修改版进行砸壳。
https://github.com/AloneMonkey/dumpdecrypted
具体使用方法见Readme。它并非通过命令行来砸壳,而是作为Cydia Substrate插件在app启动时进行砸壳。

如何解密本地化strings文件?

plutil -convert json Localizable.strings

iOS越狱开发中遇到的坑

上一篇:Android 登录注册-SharedPreferences-记住密码


下一篇:vue input 点击ios聚焦