iOS 8.0.2 Library Not Loaded libswiftCore.dylib
我有一个使用healthkit和swift的应用程序,当我在模拟器或设备上从xcode测试它时,所有东西都会编译并运行良好。我对它进行了测试、调试,并将其提交到iTunes商店。当申请被批准后,我从商店下载了新版本,它立刻崩溃了。这非常令人费解,因为我以前从未有过这个问题。我查看了我手机上的诊断和使用日志,应用程序的崩溃报告显示:
Dyld错误消息:未加载库:@rpath/libswiftcore.dylib引用自:/path/to/my/app原因:找不到合适的图像。在地址=0x1100174000,大小=0x0194000段中找到了/path/to/my/app/frameworks/libswiftcore.dylib:mmap()错误1
有人见过这样的事情吗?有人知道怎么处理吗?
谢谢你
编辑:
崩溃的问题神奇地在10月4日上午解决了,这告诉我这是一个苹果问题。我一直在给iTunes Connect支持部门发邮件,但他们并没有以某种方式说明发生了什么。我还开了一张技术票,连苹果都没有回复。这是相当令人失望的,不仅因为苹果在这个问题上没有透明化,而且它让我觉得如果这一切再次发生,我以后就没有行动的余地了。
只需执行以下两个步骤:
1)从设备(或模拟器)中删除应用程序
2)清洁您的工作区(cmd+shift+k或通过菜单产品->清洁)
3)重新构建并运行应用程序。
每次启动/部署这些东西时都能神奇地帮助…
我也经常在一切正常前几分钟收到诸如"设备上找不到应用程序"或签名问题等信息。
这似乎是苹果公司的一个代码签名问题,而且这个问题似乎影响了嵌入框架的应用程序(包括非Swift应用程序)。有多个受影响的开发人员(包括我自己)只提交了更新,没有更改任何生成设置。一些知名度很高的应用程序似乎受到了影响,门票已经提交给苹果,但目前还没有官方回应。
编辑:已确认。
当使用缺少"ou"(组织单位)的证书对Swift应用程序进行签名时,通常会发生此错误。iOS 8发布后创建的所有证书都应具有此证书。简单的解决方案是创建一个新的证书进行签名。
有关更多详细信息,请参见苹果官方评论:https://developer.apple.com/library/ios/qa/qa1886//u index.html
我的一个应用程序版本更新(funkeyboard 1.1)也有同样的问题。
在做了一些研究之后,对于10月3日更新的许多应用程序来说,这似乎是苹果公司的一个问题。苹果公司在10月4日发布了一个更新,版本号相同,无需从应用程序开发人员处进行任何修复/重新上传。
显然是苹果方面的问题,但我很惊讶苹果对此保持沉默。结果,包括我自己在内的许多开发人员都收到了用户的愤怒电子邮件和糟糕的应用程序评论。
编辑:
然而,由于同样的原因,在做了这个更改之后,这个应用被拒绝了,我相信这个问题与libswiftcore中缺失的体系结构版本有关。
我要把这个作为临时答案。Xcode6标准架构不包括ARMV7S
请注意,错误显示:did find:/path/to/my/app/frameworks/libswiftcore.dylib
所以它确实找到了lib,但它也说:原因:没有找到合适的图像。
在对存档的构建运行lipo之后,它在swift库或应用程序二进制文件中没有包含armv7。我按照上面的链接手动添加了它,二进制文件现在包含对ARMV7的支持,尽管Swift库仍然没有。我的应用程序正在加速审查,所以我应该快速得到反馈。如果真的发生了,我会跟进的。
我也有同样的问题。我取消了对ARM64的支持,添加了ARMV7,现在苹果审查小组批准了这个应用。
看来,我在iTunes商店的下载和开放正如预期。从我在苹果开发者论坛上看到的情况来看,其他应用程序也在工作。我还没有收到苹果公司关于这件事发生的原因或是什么导致了这件事的任何消息。我和他们打开了一张技术支持票,我还联系了iTunes Connect支持,但没有有关此问题的解释或任何信息正在解决。他们的客户服务很差。