Xcode 5 et phonegap: erreurs d'édition de liens sur la construction de l'appareil, mais pas pour le simulateur
Notre app phonegap construit amende pour le simulateur d'iphone, mais génère des erreurs d'édition de liens lors de la construction de l'application sur un iphone. la seule chose qui a changé, c'est l'installation de testflight et une application de test.
Nous avons déjà supprimé testflight et l'application de test, mais l'éditeur de liens erreurs subsistent.
Aucune idée sur comment résoudre ce problème?
Nous sommes sur xcode 5 et phonegap 3.4.
Erreurs:
ld: warning: ignoring file /Users/c/Library/Developer/Xcode/DerivedData/s-fhgxmhdprdjvwahdbgwuagoragit/Build/Products/Debug-iphoneos/libCordova.a, file was built for archive which is not the architecture being linked (arm64): /Users/c/Library/Developer/Xcode/DerivedData/s-fhgxmhdprdjvwahdbgwuagoragit/Build/Products/Debug-iphoneos/libCordova.a
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_CDVWebViewDelegate", referenced from:
objc-class-ref in CDVInAppBrowser.o
"_OBJC_METACLASS_$_CDVViewController", referenced from:
_OBJC_METACLASS_$_MainViewController in MainViewController.o
"_OBJC_CLASS_$_CDVPlugin", referenced from:
_OBJC_CLASS_$_CDVDevice in CDVDevice.o
_OBJC_CLASS_$_CDVConnection in CDVConnection.o
_OBJC_CLASS_$_LowLatencyAudio in LowLatencyAudio.o
_OBJC_CLASS_$_CDVLogger in CDVLogger.o
_OBJC_CLASS_$_CDVInAppBrowser in CDVInAppBrowser.o
_OBJC_CLASS_$_InAppPurchase in InAppPurchase.o
"_OBJC_METACLASS_$_CDVPlugin", referenced from:
_OBJC_METACLASS_$_CDVDevice in CDVDevice.o
_OBJC_METACLASS_$_CDVConnection in CDVConnection.o
_OBJC_METACLASS_$_LowLatencyAudio in LowLatencyAudio.o
_OBJC_METACLASS_$_CDVLogger in CDVLogger.o
_OBJC_METACLASS_$_CDVInAppBrowser in CDVInAppBrowser.o
_OBJC_METACLASS_$_InAppPurchase in InAppPurchase.o
"_OBJC_CLASS_$_CDVViewController", referenced from:
_OBJC_CLASS_$_MainViewController in MainViewController.o
objc-class-ref in CDVDevice.o
"_CDVLocalNotification", referenced from:
-[AppDelegate application:didReceiveLocalNotification:] in AppDelegate.o
"_OBJC_METACLASS_$_CDVCommandDelegateImpl", referenced from:
_OBJC_METACLASS_$_MainCommandDelegate in MainViewController.o
"_OBJC_CLASS_$_CDVPluginResult", referenced from:
objc-class-ref in CDVDevice.o
objc-class-ref in CDVConnection.o
objc-class-ref in LowLatencyAudio.o
objc-class-ref in CDVInAppBrowser.o
objc-class-ref in InAppPurchase.o
"_OBJC_CLASS_$_CDVCommandDelegateImpl", referenced from:
_OBJC_CLASS_$_MainCommandDelegate in MainViewController.o
"_OBJC_CLASS_$_CDVUserAgentUtil", referenced from:
objc-class-ref in CDVInAppBrowser.o
"_OBJC_CLASS_$_CDVCommandQueue", referenced from:
_OBJC_CLASS_$_MainCommandQueue in MainViewController.o
"_OBJC_METACLASS_$_CDVCommandQueue", referenced from:
_OBJC_METACLASS_$_MainCommandQueue in MainViewController.o
"_CDVPluginHandleOpenURLNotification", referenced from:
-[AppDelegate application:handleOpenURL:] in AppDelegate.o
-[CDVInAppBrowser openInSystem:] in CDVInAppBrowser.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
OriginalL'auteur Crashalot | 2014-03-19
Vous devez vous connecter pour publier un commentaire.
Ce genre de problèmes se produisent lors de la mise à jour de votre Xcode, mais un tiers de l'outil que vous utilisez ne peut pas être mis à jour avec cette architecture
armv64
.Alors Cliquez sur votre Projet Navigator à partir de XCode.
Cliquez Sur
Targets
de votre Projet et cliquez surBuildSettings
.Trouver
Valid Architectures
.Il suffit de double cliquer dessus et supprimer
armv64
.Assurez-vous qu'il est armv7 et
armv7s
seulement.Dans mon cas, cela a fonctionné pour moi.
Nettoyer et à construire votre projet. Il devrait fonctionner correctement maintenant.
Espère que cela vous aide.
MODIFIER
Maintenant, en tant que de 1er Février 2015, apple ne seront pas permettre à des applications sans architecture arm64 pris en charge.
Assurez-vous que toutes les applications ont arm64 soutien.
Pas de soucis l'homme. Content d'avoir pu aider.
Cela a fonctionné pour moi aussi. J'ai été en utilisant Cordova 3.6 + Xcode 6 et ont essayé de construire pour l'iPhone 6. Il a travaillé dans l'émulateur, mais la construction a été s'écraser pour un iPhone 6 appareil. Retrait armv64 comme mentionné ci-dessus fixe le problème. Merci!
Effectuer les étapes ci-dessus me laisse avec le message d'erreur suivant lorsque j'essaie de compiler le fichier xcodeproj. Des idées? Sous MAC OSX 10.9.5 (Yosemite)
No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=i386
cela,cliquez sur votre projet de navigation, à Partir de là, cliquez sur les Cibles, puis dans les Architectures, ensemble construire active architrecture PAS. Vous serez bon d'aller.
OriginalL'auteur Manthan
semble que nous aussi involontairement mis à niveau vers xcode 5.1, à l'origine du problème. phonegap 3.4 et xcode 5.1 sont incompatibles, sauf si vous effectuez quelques modifications.
voici la solution: http://shazronatadobe.wordpress.com/2014/03/12/xcode-5-1-and-cordova-ios/
OriginalL'auteur Crashalot
Désolé si cela peut sembler banal, mais les étapes suivantes sont généralement ce que je fais toujours quand je vois des erreurs d'édition de liens :
git submodule update --init --recursive
Rincer et Répéter.
Dans le cas où vous avez des modules qui ne sont pas correctement des références, sur la tête de vos Phases de construction, RETIREZ les modules qui sont inquiétants, vous et ajouter de nouveau.
OriginalL'auteur gran_profaci