xcode 5.1 build failed sans message
jojolebg
Membre
Bonjour à tous.
Depuis hier j'ai des problèmes lors ce que je veux archivé un projet (pour ensuite en faire un export adhoc ou sur le store).
En faite lorsque je fais un archive, à la fin de l'archive un popup s'affiche avec marqué build failed, et rien d'autre. Il n'y a aucunes erreurs visibles, ni aucun autre message.
Voir image
Mots clés:
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Okai niquel, j'ai déjà beaucoup plus d'infos. (Je connaissais pas le Log Navigator, merci de me le faire découvrir)
Donc apparemment dans un fichier de Socialize, il y a du code C non valide C99.
Ce que je comprend pas c'est pourquoi du coup sa ne marche pas que quand j'archive, alors que quand je run sur le simulator ça fonctionne.
Je ne comprend pas non plus pourquoi, sur une autre machine, ou il y a xcode 5 (et non xcode 5.1), ça fonctionne.
Et sur une autre machine ou il y a xcode 5.1, même le run simulator ne fonctionne pas.
Un idée pour régler proprement le problème ?
Merci en tout cas pour l'aide.
- faire un fork du repo de Socialize sur ton propre GitHub
- corriger Socialize sur ce fork (à priori vu l'erreur il suffit de rajouter une déclaration de la fonction plus haut dans le fichier avant de l'utiliser plus bas)
- en profiter pour modifier le podspec de Socialize (à la racine de ton repo ; s'il n'y est pas y copier celui de CocoaPods/Specs) pour incrémenter la version
- Faire une Pull Request sur GitHub pour inciter l'auteur à récupérer ta correction que ta as faite dans ton fork pour l'intégrer au repo officiel
- En attendant qu'il accepte la Pull Request, tu peux modifier ton PodFile pour lui dire d'utiliser ton fork pour le pod Socialize (pod 'Socialuze', :git => 'http://github.com/TonCompteGitHub/Socialize') plutôt que l'officiel.
(Avant de faire tout cela, vérifie quand même que quelqu'un n'a pas déjà créé une Pull Request pour justement corriger ça, dans ce cas autant directement utiliser celle existante plutôt que d'en créer une autre)
Okai je vais essayer de faire ça. (Pour le moment, pour ne pas perdre de temps, j'ai rétrograder la version de socialize).
Mais quoi qu'il en soit, il y a d'autre erreur. Décidément j'aurait jamais du faire cet mise à jours d'xcode.
Donc apparemment la dernière version de libGoogleAdMobAds.a ne prend pas en compte la dernière version d'xcode.
De ce coté là , n'étant pas open source, je ne peux rien modifier, et je ne sais pas quand sa sera réglé.
Concernant l'erreur précédente, je viens juste de linker le framework StoreKit. Bizarre que sa ne soit pas fait dans le Podspec de Google-AdMob-Ads-SDK, et bizarre aussi que sur xcode 5.0, il n'y a pas besoin de storekit
Donc si ça marchait avant c'était par l'opération du saint esprit ou suite à une incantation vaudou, car ce n'était pas sensé marcher si tu n'avais pas le framework.
Ou peut être qu'un autre pod se trouvait avoir une dépendance à StoreKit (ce qui expliquerait pourquoi ça ne marcherait pas avant), et que depuis il y a eu une mise à jour dudit pod mais que la nouvelle version n'a plus cette dépendance à StoreKit* (ce qui expliquerait pourquoi il n'est plus inclus)
Dans tous les cas, ça veut dire qu'ils ont oublié de mettre cette dépendance dans le podspec de GoogleAdMod (pas bien Google!).
---
* Ce qui n'est pas si déconnant que cela, car il se trouve que quelques composants du genre AppiRater & co utilisaient SKStoreProductViewController avant, dans le but d'afficher la page "Donner votre avis" de ton application sur l'AppStore (en présentant un SKStoreProductViewController donc tout en restant dans l'application), sauf que normalement SKStoreProductViewController ne doit être utilisé que pour présenter des achats InApp liés à ton appli, pas pour afficher la page "Donner votre avis", et Apple interdit de + en + cet usage détourné du SKStoreProductViewController donc les pods qui l'utilisaient ainsi au lieu de l'utiliser pour présenter de l'InApp sont obligés de le retirer de leur code maintenant, ce qui pourrait alors expliquer qu'ils n'ont plus besoin de la dépendance vers StoreKit...