修正更改ipa的BundleId后安装时出现的AppexBundleIdNotPrefixed报错
ipa改变BundleId
产生AppexBundleIdNotPrefixed
错误是怎么回事呢?ipa改变BundleId
相信大家都很熟悉,但是ipa改变BundleId
产生AppexBundleIdNotPrefixed
错误是怎么回事呢,下面就让小编带大家一起了解吧。
ipa改变BundleId
产生AppexBundleIdNotPrefixed
错误,其实就是ipa改过之后没法正常安装了,大家可能会很惊讶ipa改变BundleId
怎么会产生AppexBundleIdNotPrefixed
错误呢?但事实就是这样,小编也感到非常惊讶。
这就是关于ipa改变BundleId
产生AppexBundleIdNotPrefixed
错误的事情了,大家有什么想法呢,欢迎在评论区告诉小编一起讨论哦!
禁止营销号
正文
要实现越狱后应用的双开、多开,重点就在于修改CFBundleIdentifier
即BundleId
,让iOS将同一个应用识别为不同的两个包。一般情况下,只要修改.app
文件夹下的Info.plist
中的对应键值。这是一个xml文件,用文本编辑器就可以直接修改。但是,对于某些应用,这种直接修改的方式显得不那么好使,用爱思等工具导入之后会报AppexBundleIdNotPrefixed
,没法安装。说明有别的地方需要一起改动。
没接触过iOS开发,没什么思路,搜了一圈也没搜到解决方案。回头错误名。Appex
,猜测是Extension
之类的东西,翻翻.app
,正好有个PlugIns
文件夹,进去一看是.appex
后缀的文件夹。大概就是这。里边有个Info.plist
文件。打开之后是乱码,推测编译过。
之前搜报错的时候无意间翻找到一个plist编辑工具,拿来试试。下载链接
用工具打开Info.plist
,解析出了xml。找到CFBundleIdentifier
字段,他长这样:
结合错误名里边的NotPrefixed
提醒,这里把前边的部分改成和应用的BundleId
相同。例如,应用的BundleId
改成moe.low.arc1
,这里就改成moe.low.arc1.NotificationExtension
。改完保存,打包ipa,成功导入安装。一个共存app就改好了!
但是发现只改BundleId
的话,如果修改了其中一个包的可执行文件,似乎会影响到另一个包的运行。之前直接暴力改过可执行文件的名,Appcake导一半直接崩了)先留个坑好了