我有一个使用HealthKit和Swift的应用程序,当我在模拟器或设备上从Xcode测试时,所有内容都编译并运行良好。我测试,调试它,并将其提交到iTunes商店。当应用程序获得批准后,我从商店下载了新版本,它立即崩溃了。这非常令人费解,因为我之前从未遇到过这个问题。我查看手机上的诊断和使用日志,应用程序的崩溃报告说明了这一点:
Dyld错误消息: 未加载库:@ rpath / libswiftCore.dylib 引用自:/ path / to / my / app 原因:找不到合适的图像。 找到:/path/to/my/app/Frameworks/libswiftCore.dylib:mmap()错误1在地址= 0x100174000,大小= 0x0194000段= __文本在Segment :: map()
有没有人见过这样的事情或知道如何处理它?</ p>
谢谢
修改
10月4日早上,这个崩溃的问题神奇地解决了,这告诉我这是一个苹果问题。我一直在通过电子邮件发送iTunes Connect支持,但他们没有说出这种或那种方式。我还开了一张技术票,甚至没有回复Apple的回复。这非常令人失望,不仅因为苹果公司对这个问题没有透明度,而且这让我觉得如果再次发生这种情况,我后来就无法采取行动。答案 0 :(得分:7)
只需执行以下两个步骤:
1)从设备(或模拟器)中删除应用程序
2)清洁您的工作区(CMD + SHIFT + K或通过菜单Product-&gt; Clean)
3)再次构建并运行您的应用。
每次启动/部署所有内容时都会神奇地帮助......
我也常常得到像#34;设备上找不到的应用程序&#34;或者签署问题等。在一切运作良好之前的几分钟。
答案 1 :(得分:6)
这似乎可能是Apple的代码签名问题,这个问题似乎会影响具有嵌入式框架的应用程序(包括非Swift应用程序)。有多个开发人员受影响的帐户(包括我自己)只提交了更新,而没有更改任何构建设置。一些高调的应用似乎已经受到影响,并且已经向Apple提交了门票,但目前还没有他们的官方回复。
编辑:已经确认。答案 2 :(得分:2)
修改强>
应用程序在进行此更改后被拒绝了,但出于同样的原因,我确信该问题与libswiftCore中缺少的体系结构版本有关。
我打算将此作为临时答案发布。 Xcode 6 Standard architectures exclude armv7s
注意错误如何说明:找到:/path/to/my/app/Frameworks/libswiftCore.dylib
所以它确实找到了lib,但它也说:原因:找不到合适的图像。
在针对存档版本运行lipo之后,它在swift库或app二进制文件中没有包含armv7。我按照上面的链接手动添加了它,而二进制文件现在包含对armv7s的支持,尽管swift库仍然没有。我的应用程序正在加速审查,所以我应该很快得到反馈。当发生这种情况时,我会跟进。
答案 3 :(得分:2)
我的应用版本更新之一(FunKeyBoard 1.1)存在完全相同的问题。
经过一些研究后,看起来这是10月3日更新的许多应用程序的苹果方面问题。 Apple于10月4日通过发布更新版本号修复了该问题,无需从应用开发者那里进行任何修复/重新上传。
显然是苹果方面的问题,但我很惊讶苹果对此非常安静。许多开发人员,包括我自己,都会收到来自用户的愤怒电子邮件,以及糟糕的应用评论。
答案 4 :(得分:2)
使用缺少“OU”(组织单位)的证书对Swift应用程序进行签名时,通常会发生此错误。 iOS 8发布后创建的所有证书都应具有此功能。简单的解决方案是创建一个新的证书来签名。
有关详细信息,请参阅此处的官方Apple评论:https://developer.apple.com/library/ios/qa/qa1886/_index.html
答案 5 :(得分:0)
我的iTunes商店现在正在按预期下载和打开。根据我在Apple Developer Forums中阅读的内容,其他应用程序现在也在使用。我还没有收到苹果公司关于为什么会发生这种情况或者是什我和他们一起开了技术支持票,我也联系了iTunes Connect支持,但没有 解决此问题的解释或任何信息。这是他们非常糟糕的客户服务。
答案 6 :(得分:0)
我遇到了同样的问题。我删除了对arm64的支持并添加了armv7s,现在Apple审核小组批准了该应用程序。