如何调试“无效的捆绑包"?仅在提交到应用商店后发生的错误 [英] How to debug "Invalid Bundle" error which happens only after submitting to app store

查看:107
本文介绍了如何调试“无效的捆绑包"?仅在提交到应用商店后发生的错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的应用程序中有很多框架.应用程序在临时版本/企业版中正常运行.仅当我提交到App Store进行测试测试时,我才会从Apple收到此错误电子邮件:

I have a lot of frameworks in my app. App works fine in adhoc/enterprise release. Only if I submit to the app store for testflight testing I get this error email from apple:

亲爱的开发人员,

Dear developer,

我们发现您最近的交货中有一个或多个我的应用程序的名称在这里"问题.要处理您的交付,请执行以下操作 问题必须得到纠正:

We have discovered one or more issues with your recent delivery for "My app's name here". To process your delivery, the following issues must be corrected:

无效的捆绑包-dylib搜索路径中不存在您的应用程序引用的一个或多个动态库.

Invalid Bundle - One or more dynamic libraries that are referenced by your app are not present in the dylib search path.

这些问题一经纠正,您就可以重新交付已纠正的二进制文件.

Once these issues have been corrected, you can then redeliver the corrected binary.

此致

App Store团队

The App Store team

这里没有具体信息.我该如何调试?

there is no specific information here. How can I debug it?

推荐答案

从Apple开发人员技术支持那里得到了一个答案,该回答说这是Apple方面的错误.这是下面建议的解决方法,对我不起作用:

Got an answer from Apple Developer Technical Support which says it is a bug on Apple's side. this is the suggested workaround below which did not work for me:

要诊断此问题,应导出要发送到的IPA Xcode中的App Store.由于IPA是zip文件,因此您可以 通过右键单击并说打开方式">存档"将其解压缩 公用事业.您应该在解压缩后找到主可执行文件 文件夹结构并在命令行中运行otool以查看库 清单:otool -L

To diagnose this issue, you should export the IPA you are sending to the App Store from Xcode. Since IPAs are zip files, you can decompress it by right clicking and saying Open With > Archive Utility. You should find your main executable inside the unzipped folder structure and run otool at the command line to see the library list: otool -L

您获得的路径列表应与您在内部找到的路径匹配 IPA.您所有的库都应以@rpath开头.一个简单的 此列表中所有内容与未压缩IPA文件夹的比较 应该揭示出缺少的东西.

The list of paths you get should match what you find inside of your IPA. All of your libraries should start with @rpath. A simple comparison of everything in this list with the unzipped IPA folders should reveal what is missing.

一旦您知道缺少什么,请进入Xcode构建阶段设置. 复制文件或嵌入应有一个构建阶段 包含缺少库的框架-您只需要添加 库到列表.如果您看不到这两个构建阶段中的任何一个, 您可以通过添加新的复制文件"构建阶段来重新创建它,设置 框架的目标,并将库添加到列表中, 确保已选中代码登录副本".

Once you know what is missing, go to your Xcode build phases setup. There should be a build phase for either Copy Files or Embed Frameworks that includes the missing library — you should just add the library to the list. If you don’t see either of these build phases, you can recreate it by adding a new Copy Files build phase, setting the Destination to Frameworks, and adding the library to the list, ensuring that Code Sign On Copy is checked.

如果您在主二进制文件中找不到任何内容,请确保 对您可能拥有的其他任何二进制文件执行相同的搜索,例如 watchOS应用或iOS应用扩展.

If you don’t find anything missing in your main binary, make sure to do the same search on any other binaries you may have, like for a watchOS app or an iOS app extension.

如果您发现所有框架都处于此构建阶段,请 查看您应用目标的嵌入式二进制文件"部分 常规页面,如果您看到多个级别的../next,请告诉我 到发现的二进制文件丢失.

If you find that all of the frameworks are in this build phase, please take a look at the Embedded Binaries section of your app target’s General page, and let me know if you see multiple levels of ../ next to the binary that you found is missing.

请让我知道它是否适合您!

Please let me know if it works for you!

这篇关于如何调试“无效的捆绑包"?仅在提交到应用商店后发生的错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆