【发布时间】:2017-07-24 13:14:18
【问题描述】:
我正在使用 XCode 8 + Swift 3。
我创建了一个名为“MyApp”的全新 iOS 项目。
然后,我创建了一个名为“MySubProject”的 Cocoa touch framework 项目。 (这个想法是让 MyApp 项目访问 MySubProject 代码。)
它们在同一级别的文件夹中:
- MyApp/
- MySubProject/
我将 MySubProject 添加到 MyApp 项目中,链接了 MySubProject 框架。一切正常。我的项目结构如下:
到这里为止一切正常! (MyApp 代码可以访问 MyService 代码)
现在,我需要 MySubProject 来使用 Alamofire 与后端通信。所以,在MySubProject/ 下,我用CocoaPod 设置了Alamofire,它创建了MySubProject.xcworkspace。
我想我需要删除之前的MySubProject.xcodeproj并使用MySubProject.xcworkspace,所以我删除了MySubProject.xcodeproj的引用并将MySubProject.xcworkspace添加到MyApp,然后看起来像这样:
如您所见,我现在看不到 MySubProject 的源代码。
在框架子项目中通过 CocoaPod 使用 Alamofire 或任何 3rd 方库的正确方法是什么?
===== 更新 ======
我需要将 Alamofire 添加到 MySubProject,而不是 MyApp。我按照 Alamofire 官网的说明手动将 Alamofire 添加到MySubProject,项目结构如下:
- MyApp
- MySubProject.xcodeproj
-Alamofire.xcodeproj
之后,我可以在 MySubProject 中访问 Alamofire,没有编译错误。但是,当我在模拟器中运行我的应用程序时,出现运行时错误:
Referenced from: /Users/myname/Library/Developer/Xcode/DerivedData/MyApp-hezjlyvzxnavccenabxdepgftbrg/Build/Products/Debug-iphonesimulator/Alamofire.framework/Alamofire
Reason: image not found
如何解决?
【问题讨论】:
标签: ios cocoapods alamofire ios-frameworks