2015-07-01 14 views
5

Próbuję użyć analizy w rozszerzeniu WatchKit. Zacząłem od nowego projektu (cel-c) i zainstalowałem najnowszy Parse (1.7.5) poprzez CocoaPods. Oto mój Podfile.Nie można użyć biblioteki Parse w rozszerzeniu WatchKit (CocoaPods)

Zacząłem od śledzenia na stronie tutorial. Opisano, jak włączyć lokalne udostępnianie danych, udostępnianie pęków kluczy i grupy aplikacji. Tutaj zacząłem napotykać problemy ...

Włączenie udostępniania danych w mojej aplikacji na iOS nie stanowi problemu. Zaimportowałem <Parse/Parse.h> w moim pliku AppDelegate.h i udało mi się ukończyć konfigurację za pomocą następującego kodu.

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

Następnie udostępniłem udostępnianie danych w rozszerzeniu WatchKit. Otworzyłem mój interfejs InterfaceController.h i próbowałem zaimportować Parse, ale bez powodzenia, biblioteki nie można znaleźć. "W porządku - to ma sens, przypuszczam, że muszę dodać to do mojego Podfile" ... tak zrobiłem! Wypróbowałem kilka zaktualizowanych plików 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 

Wszystkie trzy wytwarzane różne wyniki, z których żadna nie były pożądane. V3 nie zainstalowałoby kapsuły. Stwierdzono [!] Targets with different platforms.

V1 i V2 spowodowały ostrzeżenie i błąd. Ostrzeżenie ...

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' 

Błąd został zmieniony w zależności od tego, czy zaimportowałem bibliotekę z rozszerzenia, czy nie. Z tego wszystkiego wynika, że ​​mój plik interfejsu WatchKit Extension InterfaceController.h mógł teraz zobaczyć <Parse/Parse.h> Jednak po jego zaimportowaniu narzekał, że PFPurchase.h nie może znaleźć biblioteki StoreKit.

enter image description here

próbowałem zaimportować bibliotekę w celach WatchKit rozszerzeniem „Linked ram i biblioteki”, ale nie udało się znaleźć - Zakładam, że to dlatego, że jest iOS 9 i nie WatchKit. Importowanie go do celu na iOS nie rozwiązało problemu.

Drugi błąd dostałam było, kiedy opuścił Podfile jak jest (V1 i/lub V2), ale nie importować <Parse/Parse.h> lub <Parse.h> w moim InterfaceController.h Tym razem otrzymaliśmy ...

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

Mam całkowitą i całkowitą stratę. Wyczerpałem wszystkie opcje! Jakiekolwiek propozycje będą mile widziane. Używam najnowszego Xcode 7 Beta i CocoaPods 0.37.2

+0

Czy kiedykolwiek rozwiązałeś to? –

+1

Niestety nie mogę Poyrazoğlu, przypuszczam, że będziemy musieli czekać na zaktualizowane CocoaPods i watchOS 2.0 –

Odpowiedz

1

Wygląda na to, że musisz określić platformę Watchos dla konfiguracji CocoaPod kierowanych na aplikacje WatchOS. Spójrz na to, aby uzyskać więcej informacji: https://github.com/neonichu/native-watchOS-example?

+0

Hmmm prawie.Wcześniej edytowałem mój Podfile jako https://gist.github.com/iiAtlas/52880c865155195a7aa1, ale wciąż nie miałem szczęścia. Otrzymuję błąd clang z Parse "ld: 2 duplikatów symboli dla architektury x86_64 clang: błąd: polecenie linker nie powiodło się z kodem wyjścia 1 (użyj -v, aby zobaczyć wywołanie)" –

+0

Wierzę, że ten błąd pochodzi z use_frameworks! linia w moim Podfile –

+0

Jestem w stanie obejść ten błąd, pomijając use_frameworks !, ale niestety nie mogę już znaleźć biblioteki Parse z mojego AppDelegate.h –