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

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

问题描述

我的应用中有很多框架.应用程序在临时/企业版本中运行良好.只有当我提交到应用商店进行 testflight 测试时,我才会收到来自苹果的此错误电子邮件:

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:

亲爱的开发者:

我们发现您最近发送的我的应用名称在此"有一个或多个问题.为了处理您的交货,以下必须更正问题:

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

您获得的路径列表应该与您在国际音标.你所有的库都应该以@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 构建阶段设置.应该有一个复制文件或嵌入的构建阶段包含缺失库的框架——你应该只添加库到列表中.如果您没有看到这些构建阶段中的任何一个,您可以通过添加新的复制文件构建阶段来重新创建它,设置框架的目的地,并将库添加到列表中,确保选中 Code Sign On Copy.

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.

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

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天全站免登陆