修正更改ipa的BundleId后安装时出现的AppexBundleIdNotPrefixed报错

ipa改变BundleId产生AppexBundleIdNotPrefixed错误是怎么回事呢?ipa改变BundleId相信大家都很熟悉,但是ipa改变BundleId产生AppexBundleIdNotPrefixed错误是怎么回事呢,下面就让小编带大家一起了解吧。

ipa改变BundleId产生AppexBundleIdNotPrefixed错误,其实就是ipa改过之后没法正常安装了,大家可能会很惊讶ipa改变BundleId怎么会产生AppexBundleIdNotPrefixed错误呢?但事实就是这样,小编也感到非常惊讶。

这就是关于ipa改变BundleId产生AppexBundleIdNotPrefixed错误的事情了,大家有什么想法呢,欢迎在评论区告诉小编一起讨论哦!

禁止营销号

正文

要实现越狱后应用的双开、多开,重点就在于修改CFBundleIdentifierBundleId,让iOS将同一个应用识别为不同的两个包。一般情况下,只要修改.app文件夹下的Info.plist中的对应键值。这是一个xml文件,用文本编辑器就可以直接修改。但是,对于某些应用,这种直接修改的方式显得不那么好使,用爱思等工具导入之后会报AppexBundleIdNotPrefixed,没法安装。说明有别的地方需要一起改动。

没接触过iOS开发,没什么思路,搜了一圈也没搜到解决方案。回头错误名。Appex,猜测是Extension之类的东西,翻翻.app,正好有个PlugIns文件夹,进去一看是.appex后缀的文件夹。大概就是这。里边有个Info.plist文件。打开之后是乱码,推测编译过。

看到了熟悉的字段,但是没法编辑

之前搜报错的时候无意间翻找到一个plist编辑工具,拿来试试。下载链接

用工具打开Info.plist,解析出了xml。找到CFBundleIdentifier字段,他长这样:

解析后的plist

结合错误名里边的NotPrefixed提醒,这里把前边的部分改成和应用的BundleId相同。例如,应用的BundleId改成moe.low.arc1,这里就改成moe.low.arc1.NotificationExtension。改完保存,打包ipa,成功导入安装。一个共存app就改好了!

但是发现只改BundleId的话,如果修改了其中一个包的可执行文件,似乎会影响到另一个包的运行。之前直接暴力改过可执行文件的名,Appcake导一半直接崩了)先留个坑好了

本文链接:

https://www.direcore.xyz/archives/6/
1 + 3 =
5 评论
    mqChrome 108Windows 10
    2023年01月05日 回复

    +1

    AnonymousChrome 79Windows 10
    2020年06月09日 回复

    草,正好在改arcaea的我看见了这篇文章(真。完美解决问题

      mqChrome 108Windows 10
      2023年01月05日 回复

      @Anonymous 有缘人()

      bymChrome 84Windows 10
      2020年09月01日 回复
      .direwolfChrome 84Windows 10
      2020年06月12日 回复

      @Anonymous 草,,