所以不确定这是否是最好的地方,但我无法在其他地方找到任何答案:
我的现有 Obj-C 应用程序的 Swift 端口由于崩溃而不断被 App Store 拒绝。具体来说,App Store提供的崩溃日志摘录如下:
Dyld Error Message:
Library not loaded: @rpath/libswiftCore.dylib
Referenced from: /private/var/mobile/Containers/Bundle/Application/ED6A7194-EAD0-4FB6-8E81-C4C987E60E08/<AppName>.app/<AppName>
Reason: no suitable image found. Did find:
/private/var/mobile/Containers/Bundle/Application/ED6A7194-EAD0-4FB6-8E81-C4C987E60E08/
<AppName>..app/Frameworks/libswiftCore.dylib: mmap() error 1 at address=0x100168000, size=0x00194000 segment=__TEXT in Segment::map()
mapping /private/var/mobile/Containers/Bundle/Application/ED6A7194-EAD0-4FB6-8E81-C4C987E60E08/<AppName>.app/Frameworks/libswiftCore.dylib
Dyld Version: 353.5
我无法通过手机或模拟器在我这边重现这个问题(即使创建存档,将其作为 Ad Hoc .ipa 提交,并将其安装到我的手机上也完全正常)——我猜我缺少一些非常愚蠢的东西?有没有人遇到过类似的事情?看起来它无法找到 swift 核心库或类似的东西?
(我在 SO 上看到了其他类似的问题,接受的答案是将“嵌入式内容包含 Swift 代码”设置为"is"并验证运行路径是否为特定值,我已经完成了。再次,它通过模拟器工作完全正常,直接构建到手机上,并且在将 .ipa
安装到手机上时——我无法自己重现该问题。)
(编辑)
根据 App Store 审查团队提供的日志,他们正在运行它:
Hardware Model: xxx
OS Version: iOS 8.0.2 (12A405)
所提供的崩溃日志中报告的二进制图像的全文:
Binary Images:
0x120088000 - 0x1200affff dyld arm64 <cde4667c8a4a3f80b7076a4766ee7205> /usr/lib/dyld
0x183b8c000 - 0x183d96fff CFNetwork arm64 <ceef412014a13644a225194906f999cc> /System/Library/Frameworks/CFNetwork.framework/CFNetwork
0x184120000 - 0x18447bfff CoreFoundation arm64 <ead15232d65b3139ba4866e7adbb5663> /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
0x18447c000 - 0x1845defff CoreGraphics arm64 <fe7274c9c42932baa9c2182f84f6ec57> /System/Library/Frameworks/CoreGraphics.framework/CoreGraphics
0x18501c000 - 0x185270fff Foundation arm64 <aad23ffe921534c9bb3fd8814a33b0e9> /System/Library/Frameworks/Foundation.framework/Foundation
0x188310000 - 0x188494fff QuartzCore arm64 <395159df77d13406a2eb1e70e482bd25> /System/Library/Frameworks/QuartzCore.framework/QuartzCore
0x18877c000 - 0x188807fff Social arm64 <e63d277e11f43be980638030f382403f> /System/Library/Frameworks/Social.framework/Social
0x188924000 - 0x18893cfff StoreKit arm64 <58c17c55d2c5318c850df4534ca85544> /System/Library/Frameworks/StoreKit.framework/StoreKit
0x188940000 - 0x1889b3fff SystemConfiguration arm64 <3e90833ff4ed3d01983a72d151f9053f> /System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration
0x1889b8000 - 0x189320fff UIKit arm64 <406f392b43b23f7daaa5c4345c8be709> /System/Library/Frameworks/UIKit.framework/UIKit
0x194194000 - 0x194195fff libSystem.B.dylib arm64 <debe5bcf0a6d31898e6b46412acfd1c0> /usr/lib/libSystem.B.dylib
0x194c90000 - 0x194e8cfff libobjc.A.dylib arm64 <88bda32a9df13740ba61bef95d96a2b2> /usr/lib/libobjc.A.dylib
最佳答案
嘿,我们遇到了同样的问题,原来我们需要创建一个新的分发证书和配置文件,以便包含发布 swift 代码的能力。
前往 developer.apple.com
设置您的新证书和配置并重新发布您的应用程序。
W
关于ios - 由于 "Library not loaded: @rpath/libswiftCore.dylib",Swift 应用仅在 App Store 构建中崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26188411/