ios - 由于 "Library not loaded: @rpath/libswiftCore.dylib",Swift 应用仅在 App Store 构建中崩溃

标签 ios xcode swift app-store

所以不确定这是否是最好的地方,但我无法在其他地方找到任何答案:

我的现有 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/

相关文章:

ios - 在 viewDidLoad 中编写代码是否违反 MVC 架构?

ios - Xcode Playground 中的 ViewController - 帧报告双倍大小 (viewDidLoad)

ios - 如何将 UIImage 数组导出为电影?

iPhone : Print all contents of a Scroll View

ios - 更新并安装 ionic 和 ios

iphone - UITableView 无法一直滚动到底部

xcode - 将 PFObject 数组的值设置为 Swift 数组

swift - 比较 NSDate

arrays - Swift - 基于比较两个数组值的结果的新数组

ios - 如何推送到标签栏中查看变量中的某些数据?