繁体   English   中英

不能在WatchKit扩展中使用Parse库(CocoaPods)

[英]Cannot use Parse library in WatchKit Extension (CocoaPods)

我试图在WatchKit扩展中使用解析。 我从一个新项目(objective-c)开始,并通过CocoaPods安装了最新的Parse(1.7.5)。 这是我的Podfile。

# Uncomment this line to define a global platform for your project
platform :ios, '8.3'

target 'WatchBumpTesting' do
        pod 'Parse', '~> 1.7.5'
end

target 'WatchBumpTesting WatchKit App' do

end

target 'WatchBumpTesting WatchKit Extension' do

end

我开始在他们的网站上关注教程 它描述了如何启用本地数据共享,钥匙串共享和应用程序组。 这是我开始遇到问题的地方......

我在iOS应用中启用数据共享没问题。 我在AppDelegate.h文件中导入了<Parse/Parse.h> ,并且能够使用以下代码完成设置。

// Enable data sharing in main app.
[Parse enableDataSharingWithApplicationGroupIdentifier:@”group.com.parse.parseuidemo”];
// Setup Parse
[Parse setApplicationId:@”<ParseAppId>” clientKey:@”<ClientKey>”];

接下来,我继续在WatchKit扩展上启用数据共享。 我打开了我的InterfaceController.h并尝试导入Parse,但没有运气,找不到库。 “好的 - 这是有道理的,我想我必须将它添加到我的Podfile中”......所以我做到了! 我尝试了一些更新的Podfiles。

V1

# Uncomment this line to define a global platform for your project
platform :ios, '8.3'

target 'WatchBumpTesting' do
        pod 'Parse', '~> 1.7.5'
end

target 'WatchBumpTesting WatchKit App' do

end

target 'WatchBumpTesting WatchKit Extension' do
        pod 'Parse', '~> 1.7.5'
end

V2

# Uncomment this line to define a global platform for your project
platform :ios, '8.3'

def shared_pods
        pod 'Parse', '~> 1.7.5'
end

target 'WatchBumpTesting' do
        shared_pods
end

target 'WatchBumpTesting WatchKit App' do

end

target 'WatchBumpTesting WatchKit Extension' do
        shared_pods
end

V3

# Uncomment this line to define a global platform for your project
platform :ios, '8.3'

link_with 'WatchBumpTesting', 'WatchBumpTesting WatchKit Extension'

target 'WatchBumpTesting' do
        pod 'Parse', '~> 1.7.5'
end

target 'WatchBumpTesting WatchKit App' do

end

target 'WatchBumpTesting WatchKit Extension' do

end

所有这三个都产生了不同的结果,没有一个是期望的。 V3不会安装pod。 它表示[!] Targets with different platforms

V1和V2导致警告和错误。 警告......

Pods-WatchBumpTesting WatchKit Extension was rejected as an implicit dependency for 'libPods-WatchBumpTesting WatchKit Extension.a' because it doesn't contain platform 'watchsimulator' in its SUPPORTED_PLATFORMS 'iphonesimulator, iphoneos'

错误发生了变化,具体取决于我是否在扩展中导入了库。 所有这一切带来的好处是我的WatchKit扩展InterfaceController.h文件现在可以看到<Parse/Parse.h>但是,当我导入它时,它抱怨PFPurchase.h找不到StoreKit库。

在此输入图像描述

我试图在WatchKit扩展目标“链接框架和库”中导入库但是找不到它 - 我假设这是因为它是iOS 9而不是WatchKit。 在iOS App的目标中导入它并没有解决问题。

我收到的第二个错误是当我按原样(V1和/或V2)离开Podfile但在我的InterfaceController.h中没有导入<Parse/Parse.h><Parse.h>这次我收到了......

ld: library not found for -lPods-WatchBumpTesting WatchKit Extension-Bolts
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我完全失败了。 我已经筋疲力尽了! 任何想法将不胜感激。 我正在使用最新的Xcode 7 Beta以及CocoaPods 0.37.2

看起来您必须为针对WatchOS应用的CocoaPod配置指定watchos平台。 看看这个更多信息: https//github.com/neonichu/native-watchOS-example

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM