2015-07-01 8 views
5

Sto tentando di utilizzare analisi in un'estensione WatchKit. Ho iniziato con un nuovo progetto (obiettivo-c) e installato l'ultimo Parse (1.7.5) attraverso CocoaPods. Ecco il mio Podfile.Impossibile utilizzare la libreria Parse nell'estensione WatchKit (CocoaPods)

# 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 

ho iniziato seguendo la tutorial sul loro sito. Ha descritto come abilitare la condivisione locale dei dati, la condivisione di portachiavi e gruppi di app. Qui è dove ho iniziato a incontrare problemi ...

Ho abilitato la condivisione dei dati nella mia app per iOS nessun problema. Ho importato <Parse/Parse.h> nel mio file AppDelegate.h e sono riuscito a completare l'installazione con il seguente codice.

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

Successivamente, ho attivato la condivisione dei dati sull'estensione WatchKit. Ho aperto il mio InterfaceController.h e ho tentato di importare Parse ma senza fortuna, la libreria non è stata trovata. "Okay - questo ha senso, suppongo di doverlo aggiungere al mio Podfile" ... così ho fatto! Ho provato alcuni Podfile aggiornati.

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 

Tutti e tre prodotto risultati diversi, nessuno dei quali erano desiderati. V3 non installava il pod. Ha dichiarato [!] Targets with different platforms.

V1 e V2 hanno provocato un avviso e un errore. L'avviso ...

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' 

L'errore è cambiato a seconda se ho importato la libreria nell'estensione o meno. La cosa buona che è venuta da tutto questo è che il mio file WatchKit Extension InterfaceController.h ora può vedere <Parse/Parse.h> Tuttavia, quando l'ho importato mi sono lamentato del fatto che PFPurchase.h non riuscisse a trovare la libreria StoreKit.

enter image description here

ho cercato di importare la libreria negli obiettivi WatchKit Extension "quadri collegati e Biblioteche", ma non è stato trovato - sto assumendo questo è perché è iOS 9 e non WatchKit. L'importazione nella destinazione dell'app iOS non ha risolto il problema.

Il secondo errore che ho ricevuto è stato quando ho lasciato la Podfile come è (V1 e/o V2), ma non ha importato <Parse/Parse.h> o <Parse.h> nel mio InterfaceController.h Questa volta ho ricevuto ...

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

Sono a una perdita completa e totale. Ho esaurito tutte le opzioni! Qualsiasi pensiero sarebbe molto apprezzato. Sto usando l'ultima Xcode 7 Beta e CocoaPods 0.37.2

+0

hai mai risolto questo? –

+1

Purtroppo non posso Poyrazoğlu, suppongo che dovremo aspettare un CocoaPod aggiornato e guardareOS 2.0 –

risposta

1

Sembra che tu debba specificare la piattaforma watchos per le configurazioni CocoaPod indirizzate alle app WatchOS. Dai un'occhiata a questo per maggiori informazioni: https://github.com/neonichu/native-watchOS-example?

+0

Hmmm quasi.Ho modificato il mio Podfile come tale https://gist.github.com/iiAtlas/52880c865155195a7aa1 ma ancora senza fortuna. Sto ricevendo un errore clang con Parse "ld: 2 simboli duplicati per architettura x86_64 clang: errore: comando linker fallito con codice di uscita 1 (usa -v per vedere l'invocazione)" –

+0

Credo che questo errore provenga da use_frameworks! line nel mio Podfile –

+0

Sono in grado di aggirare questo errore omettendo use_frameworks !, ma purtroppo non riesco più a trovare la libreria Parse dal mio AppDelegate.h –