WatchKit 扩展在 CocoaPods 下不起作用
Posted
技术标签:
【中文标题】WatchKit 扩展在 CocoaPods 下不起作用【英文标题】:WatchKit Extension not working under CocoaPods 【发布时间】:2015-05-25 09:06:50 【问题描述】:使用 ios-8.3、Xcode-6.3.1 和 MacOS-10.10.3 - 描述 here 和 here 的 RealmSwift (v0.92.3) 的 CocoaPods (v0.37.1) 安装基本上可以工作,除了 WatchKit扩展没有找到任何 Realm 关键字。
我的 Podfile 如下所示:
xcodeproj 'MyApp.xcodeproj'
workspace 'MyApp.xcworkspace'
platform :ios, '8.3'
source 'https://github.com/artsy/Specs.git'
source 'https://github.com/CocoaPods/Specs.git'
use_frameworks!
def shared_pods
pod 'RealmSwift', '>= 0.92.3'
end
target 'MyApp' do
shared_pods
end
target 'MyAppTests' do
shared_pods
end
target 'MyApp WatchKit Extension' do
shared_pods
end
link_with 'MyApp', 'MyApp WatchKit Extension'
我在 WatchKit 扩展中的所有 Realm 关键字都不起作用,如以下错误消息所示(...已注释掉任何 import RealmSwift 语句)(见下图)
任何想法强烈赞赏仍然可能是错误的???
关于目标设置必须如何的任何想法。提示:NameEntry Realm-Object 用于两个目标(即 MyApp 和 MyApp WatchKit Extension)。这似乎增加了 CocoaPods 使用的复杂性。知道双重用途(即在两个目标中)是否需要特殊的 cocoapods 设置?那么“import RealmSwift”呢?这有必要吗??
【问题讨论】:
Import RealmSwift no longer working using CocoaPods的可能重复 【参考方案1】:上面的Podfile其实是对的!!
但是,重要的是您仍然使用 CocoaPods 在 Realm-Object 定义中“导入 RealmSwift”,如下面的更正示例所示。这将使您的 WatchKit Extension 无法识别任何领域对象的错误消息消失!
此外,如果您打算在两个目标中使用您的 Realm-Object(即“MyApp”和“MyApp WatchKit Extension”),请确保在 RealmObject.swift 文件的目标选择窗格中选择相应的目标(见下图):
【讨论】:
以上是关于WatchKit 扩展在 CocoaPods 下不起作用的主要内容,如果未能解决你的问题,请参考以下文章
在 App-Group 文件夹中创建领域文件在 WatchOS(WatchKit 扩展)下不起作用
在主要目标中包含 pod,而不是在 WatchKit 扩展中
添加 watchkit 时带有 cocoapods 的 Swift 项目出现新错误