我正在使用JWPlayer开发音乐播放器应用程序。以前我使用的是iOS_SDK 2.9.1。现在,我将SDK更新为新版本iOS_SDK 3.5.1。更新SDK之后,我无法从XCode导出.ipa文件。正在收到错误消息,原因是“ ipatool失败,并发生以下异常:
请按照以下说明查看错误消息的屏幕截图。
答案 0 :(得分:1)
如果要在启用位码的情况下进行构建。您可以检查以下步骤:
删除项目中的所有依赖项,然后尝试将其一个接一个地添加,确保哪个框架导致生成错误,检查最新的稳定版本或向框架所有者报告以解决此问题(应与位码相关)
在构建供其他人使用的框架之前,请在项目计划测试部分中禁用与代码覆盖率相关的所有功能。
if (@available(iOS 10.0, *)) {
}
更改为此代码可以为我解决问题:
if(([[[UIDevice currentDevice] systemVersion] floatValue] >= 10.0)) {
}
注意:我将Xcode 11.3.1与调试SDK 13.2结合使用,并在启用了位码的情况下构建目标iOS 9.0
答案 1 :(得分:0)
即使我在更新广告连播后也遇到了同样的问题。对我有用的解决方法是在存档时取消选中“位码”选项。 enter image description here
请检查附件图片
答案 2 :(得分:0)
就您而言,您需要等待框架本身的修复。
我们遇到了类似的问题,我描述了 here,我只是不想分享我们的调查结果,因为似乎没有人公布他们的结果。
没有位码就不需要分发。长话短说,其中包含 LLVM 检测,这会阻止 AppStore 处理。我写了一篇关于 XCode 12 and BigSur issues with XCFramework 的完整博客。
总而言之,在创建 XCFramework
以进行分发时,需要执行以下几个必要步骤:
BUILD_LIBRARY_FOR_DISTRIBUTION
必须设置为 YES
SKIP_INSTALL
必须设置为 NO
GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = NO
关闭 GCC 检测并将其从二进制文件中删除CLANG_ENABLE_CODE_COVERAGE = NO
从二进制文件中关闭代码覆盖工具上述所有内容有助于解决我们的准备和分发问题,如果您碰巧遇到与我们相同的问题,希望可以为您节省一些时间。