找不到Cocoapods框架 - 混合目标c和swift pods

时间:2015-09-27 08:24:01

标签: ios swift cocoapods onesignal

tl; dr; 如何在podfile中使用旧的(不应该使用use_frameworks!)和新的pod? 我有工作podfile:

platform :ios, '8.0'
use_frameworks!

    target 'myApp' do
        pod 'Alamofire', '1.3.1'
        pod 'SwiftyJSON', '~> 2.2.1'
    end

然后我根据文档link添加了OneSignal pod 所以我的pod文件改为:

platform :ios, '8.0'
use_frameworks!

target 'myApp' do
    pod 'Alamofire', '1.3.1'
    pod 'SwiftyJSON', '~> 2.2.1'
    pod 'OneSignal'
end

我更新了pod并运行build - 得到错误:

ld: framework not found OneSignal
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我检查了OneSignal pod,与其他人相比看起来有所不同: enter image description here
这可能是因为旧式的Objective-c框架 我可以手动添加这个框架到我的项目,但我想知道如何使它与cocoapods正常工作? 这个问题与我认为https://github.com/CocoaPods/CocoaPods/issues/3338

的问题有关

更新
我目前正在使用Xcode 6.4

1 个答案:

答案 0 :(得分:2)

您使用的是什么版本的Xcode?

如果更新到Alamofire和SwiftyJSON的最新版本并使用Xcode 7构建,则应该修复构建错误。

platform :ios, '8.0'
use_frameworks!

target 'myApp' do
    pod 'Alamofire', '2.0.2'
    pod 'SwiftyJSON', '~> 2.3.0'
    pod 'OneSignal'
end