我使用realm.io作为某些数据的存储空间。我想与今天的分机共享此数据。我正在使用CocoaPods,我想知道如何与两个目标共享该框架。我的podfile如下所示:
platform :ios, '8.0'
use_frameworks!
pod 'RealmSwift'
pod 'MBProgressHUD'
pod 'Alamofire'
我试过这个,它在构建到设备时起作用,但在构建到iOS模拟器时却没有。它返回错误'ld:framework not found Pods':
platform :ios, '8.0'
use_frameworks!
def shared_pods
pod 'RealmSwift'
pod 'Alamofire'
end
target 'App' do
shared_pods
pod 'MBProgressHUD'
end
target 'AppToday' do
shared_pods
end
我做错了什么?
感谢任何帮助。
Brgds
答案 0 :(得分:1)
您的Podfile看起来是正确的,可以在干净的安装上运行。但是,当您在不同的设置之间进行迁移时,您发现CocoaPods中的用户项目集成存在错误。
如果未在Podfile中明确指定目标,则CocoaPods将与项目中的第一个目标集成。这是你的应用目标,只要它是唯一的,它就能正常工作。
但是现在你明确地引用了目标。 CocoaPods将创建单独的所谓聚合目标。这些内容位于Pods.xcodeproj
,名为Pods-App
和Pods-AppToday
。这些是静态框架目标(来自0.39.beta.5),它们与您的目标相关联,以帮助Xcode在Pods项目中找到您的依赖项。因为CocoaPods在运行pod install
时并不知道有关前一个Podfile的任何信息(并且它不会在Podfile.lock
中保留此信息),所以它不会删除旧的聚合目标,该目标已命名只需Pods
,它就是您的应用目标中的产品参考。
Pods.framework
答案 1 :(得分:0)
platform :ios, '8.0'
use_frameworks!
pod 'RealmSwift'
pod 'MBProgressHUD'
pod 'Alamofire'
添加此行
link_with 'App', 'AppToday'