我使用Xcode 6和Swift构建了一个框架,我的框架使用SwiftyJSON作为依赖项 - 通过Carthage添加。 我归档了我的框架,并使用lipo
为模拟器和iOS设备创建了一个构建版本,在尝试将我的框架用于空应用程序时,运行时出现崩溃:
dyld: Library not loaded: @rpath/SwiftyJSON.framework/SwiftyJSON
Referenced from: /Users/hd/Library/Developer/CoreSimulator/Devices/324FD1CD-4A06-459B-AE6D-318197B5697E/data/Containers/Bundle/Application/555871BB-7AA1-4AED-90CE-EE0A628A794F/CollaborativeTodo.app/Frameworks/XXXXX.framework/XXXXX
Reason: no suitable image found. Did find:
/Users/hd/Library/Developer/CoreSimulator/Devices/324FD1CD-4A06-459B-AE6D-318197B5697E/data/Containers/Bundle/Application/555871BB-7AA1-4AED-90CE-EE0A628A794F/CollaborativeTodo.app/Frameworks/SwiftyJSON.framework/SwiftyJSON: no matching architecture in universal wrapper
下面是翻译的结果:
这是我的目录树 -- 框架名称被故意模糊处理了:
常规选项卡:
构建阶段:
如果我在项目中使用Carthage包含SwiftyJSON,那么它就能够工作,但我不想强制用户包含第三方库。 如何将SwiftyJSON嵌入到我的框架中,并告诉Xcode在运行时使用嵌入的版本,而不是尝试在项目中查找该框架?