这次崩溃是一个阻塞问题,基本上我使用以下步骤来重现问题:
应用程序在启动时立即崩溃,这是控制台日志:
dyld: Library not loaded: @rpath/FrameworkTest03.framework/FrameworkTest03
Referenced from: /var/mobile/Applications/FA6BAAC8-1AAD-49B4-8326-F30F66458CB6/FrameworkTest03App.app/FrameworkTest03App
Reason: image not found
Run Code Online (Sandbox Code Playgroud)
我试图在iOS 7.1和8.0设备上构建,它们都有相同的崩溃.但是我可以构建应用程序并在模拟器上运行良好.另外我知道我可以在Link Binary With Libraries中将框架从Required更改为Optional,但它没有完全解决问题,当我创建Dog实例时应用程序崩溃了.在设备和模拟器上的行为是不同的,我怀疑我们不能使用测试版的Xcode分发设备框架.任何人都可以阐明这一点吗?
我正在试验Xcode 6 Beta,并注意到armv7s从标准架构中消失了.我确实扫描了Xcode 6发行说明,但没有看到更改.谁能证实这一变化?
Xcode 5.1.1:

Xcode 6 Beta:

更新
iOS 8 Beta论坛上还有一个讨论此主题的主题.https://devforums.apple.com/thread/244407?tstart=0
还要注意@ThomasW有一个关于向架构添加armv7s的答案.
我试图在运行iOS 7.1的真实手机上运行我的Swift应用程序的企业签名版本.
如果我通过Xcode界面创建企业签名应用程序,该应用程序将完美运行.如果我通过xcodebuild创建企业签名应用程序并在命令行上进行协同设置,则应用程序在打开时崩溃并显示以下日志:
Dyld Error Message:
Library not loaded: @rpath/libswiftCore.dylib
Referenced from: /var/mobile/Applications/96578E7F-7FE6-4603-82F2-8941561225D8/Foo.app/Foo
Reason: no suitable image found. Did find:
/private/var/mobile/Applications/96578E7F-7FE6-4603-82F2-8941561225D8/Foo.app/Frameworks/libswiftCore.dylib: code signature invalid for '/private/var/mobile/Applications/96578E7F-7FE6-4603-82F2-8941561225D8/Foo.app/Frameworks/libswiftCore.dylib'
Dyld Version: 324
Run Code Online (Sandbox Code Playgroud)
当我通过命令行创建IPA时,IPA始终包含相同的libswiftCore.dylib
$ md5 cli/Payload/Foo.app/Frameworks/libswiftCore.dylib
MD5 (cli/SwiftSupport/libswiftCore.dylib) = 0fe0370b5585a88a89d230b7501aee31 <- same every time; matches what is provided by Xcode
$ md5 /Applications/Xcode6-Beta5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos/libswiftCore.dylib
MD5 (/Applications/Xcode6-Beta5.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos/libswiftCore.dylib) = 0fe0370b5585a88a89d230b7501aee31 <- Same!
Run Code Online (Sandbox Code Playgroud)
当Xcode的UI产生IPA,很显然,它以某种方式签署或修改libswiftCore.dylib
$ md5 ui/Payload/Foo.app/Frameworks/libswiftCore.dylib
MD5 (ui/Payload/Foo.app/Frameworks/libswiftCore.dylib) = df73f604b1370b19721dfa7de298340f <- different every time
Run Code Online (Sandbox Code Playgroud)
我试过在codesign上使用--deep选项没有运气.
在通过命令行构建/代码签名时,如何让libswiftCore.dylib正确签名?
当我运行iOS的Today扩展时,我收到此错误:
dyld: Library not loaded: @rpath/libswiftCore.dylib
Referenced from: /Users/andy/Library/Developer/CoreSimulator/Devices/724FF0C3-6622-4D12-865A-90244C8C63C1/data/Containers/Bundle/Application/30D8974B-ED1A-4F3A-8958-E9B7AA8901A9/App.app/PlugIns/Today.appex/Today
Reason: image not found
Run Code Online (Sandbox Code Playgroud)
我重新启动,卸载,安装了xcode,重新启动了我的机器,创建了一个全新的今天扩展,我仍然遇到这个错误: - /
在模拟器和设备上的相同问题..
你有什么主意吗?