WatchKit 无法从 Pod 导入库

Posted

技术标签:

【中文标题】WatchKit 无法从 Pod 导入库【英文标题】:WatchKit Can't Import Library From Pods 【发布时间】:2016-02-05 23:18:13 【问题描述】:

我正在添加一个手表应用程序,并且我正在尝试在我的 ios 应用程序使用的 WatchKit 扩展中导入一个库 (SwiftyJSON)。我已经更新了我的 podfile:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!

target 'MyApp' do
    pod 'Alamofire', '~> 3.0'
    pod 'AlamofireImage', '~> 2.0'
    pod 'SwiftyJSON', :git => 'https://github.com/SwiftyJSON/SwiftyJSON.git'
    pod "PubNub", "~> 4.1"
    pod 'Siren'
end

target 'MyAppWatch Extension' do
    pod 'SwiftyJSON', :git => 'https://github.com/SwiftyJSON/SwiftyJSON.git'
end

当我运行pod install 时,一切似乎都正常运行。问题是当我在 WKInterfaceController 中使用 import SwiftyJSON 时,我收到错误 No such module SwiftyJSON。是否还有其他设置我没有正确设置?

【问题讨论】:

【参考方案1】:

我使用以下podfilepods添加到watchOS框架的方式:

source 'https://github.com/CocoaPods/Specs.git'

use_frameworks! 

platform :ios, '8.0'

link_with 'AppName'

target 'WatchName Extension' do
  platform :watchos, '2.0'
  pod 'NameOfYourPOd', '~> x.0.0'
end

但是有一个非常重要的一点是在 Watch Extension 中包含一些库,有些库还不支持watchos 作为平台。有一些不错的文章介绍如何手动将其添加到其podspec 以支持它。

希望对你有帮助

【讨论】:

以上是关于WatchKit 无法从 Pod 导入库的主要内容,如果未能解决你的问题,请参考以下文章

Apple Watch、WatchKit 和 NSUserDefaults [重复]

在主要目标中包含 pod,而不是在 WatchKit 扩展中

无法在 WatchKit 扩展(CocoaPods)中使用 Parse 库

是否可以在实际 Apple Watch 设备上运行 WatchKit 应用程序?

Apple Watch: WatchKit 应用程序要点

如何在 iPhone 应用程序和 WatchKit 应用程序之间发送消息?