Question

Y at-il un moyen facile d'obtenir Three20 V1.1 à travailler sous Xcode 4? J'ai suivi les étapes sur http://three20.info/article/2011-03- 10 Xcode4-support mais qui semble être le maître. Je l'utilise comme je l'utilise V1.1 le TTLauncher.

Le projet se construit bien avec une construction normale, et fonctionne parfaitement sur un iPhone. Mais quand je veux créer l'archive (pour l'IPA pour la distribution) je reçois 18 erreurs et 8 avertissements.

La première est la suivante:

../scripts/Protect.command: line 23: cd: /Users/XXX/Library/Developer/Xcode/DerivedData/iDoms-cmyivarwxpbvqdfnyclqdrikrtmw/ArchiveIntermediates/iDoms/BuildProductsPath/Release-iphoneos/../three20/Three20UICommon: No such file or directory

La plupart des autres sont « pas un tel fichier ou répertoire » sur .: par exemple #import "Three20Core/TTGlobalCoreLocale.h "

ou « non déclaré (première utilisation de la fonction) » qui vient de la «question pas de fichier ou un répertoire que je présume.

Dans mes 'chemins de recherche en-tête' Je:

$(BUILT_PRODUCTS_DIR)/../three20
$(BUILT_PRODUCTS_DIR)/../../three20
../../three20/Build/Products/three20
/usr/include/libxml2

Toute aide serait très appréciée!

Était-ce utile?

La solution

Vous devriez consulter cette question StackOverflow .

J'ai reproduit la réponse acceptée ci-dessous:

il ressemble la meilleure façon vieillir Xcode 3.2 Projets au travail avec Xcode 4 est de faire ce qui suit:

Allez dans les préférences de Xcode 4 (Cmd +,). Sélectionnez l'onglet « Emplacements ». Où il dit « Construire les zones géographiques », sélectionnez le déroulant et choisissez « Lieu de construction produits dans des emplacements spécifiés par cibles » Je vais écrire un three20.info article entrer dans plus de détails sur cela.

Autres conseils

Juste pour ajouter à la réponse de Colin: vous pouvez utiliser des projets dépendants de Xcode fonction à utiliser Three20, même si le site Three20 dit que ce n'est pas « officiellement pris en charge »:

  1. Dans votre espace de travail, faites un clic droit sur l'espace vide dans votre navigateur de projet. Sélectionnez « Ajouter des fichiers « Mon espace de travail », et sélectionnez le projet Three20 (de three20/src/Three20/Three20.xcodeproj) est le projet uniquement vous devez ajouter:.. Il est nécessaire d'ajouter manuellement les Three20 sous-projets

  2. Sélectionnez votre projet dans le navigateur, allez construire phases, ouvert « binaire lien avec les bibliothèques », cliquez sur le « + » dans le coin inférieur gauche, et ajoutez les Three20 bibliothèques: libThree20.a, libThree20Core.a, libThree20Network.a, libThree20Style.a, libThree20UI.a, libThree20UICommon.a et libThree20Navigator.a. Cela entraînera Xcode pour construire Three20 lorsque vous créez votre projet.

  3. Ajouter ${BUILD_DIR}/three20 à votre include_path selon la réponse de Colin:. Aller dans les paramètres de construction, double-cliquez sur « En-tête des chemins de recherche », et d'ajouter ${BUILD_DIR}/three20 (il montrera que build/three20 lorsque vous fermez la boîte de dialogue)

  4. Ajouter three20/src/Three20.bundle à vos ressources.

  5. Il est sans doute aussi une bonne idée d'ajouter les drapeaux de l'éditeur de liens -ObjC et -all_load si vous ne l'avez pas déjà fait (même boîte de dialogue, réglage « Autres drapeaux de linker »).

Les étapes ci-dessus sont assez bons pour compiler le code. Pour rendre le travail « Archive » aussi, vous devez:

  1. Ajouter $(BUILT_PRODUCTS_DIR)/../three20 et $(BUILT_PRODUCTS_DIR)/../../three20 à la mise en-tête des chemins de recherche. Si vous ne vous obtiendrez des erreurs de compilation qui ne peuvent pas trouver les Three20 têtes.

  2. Pour tous Three20 projets (donc pas seulement le projet de niveau supérieur), allez les paramètres de construction et de jeu « Passer Installer » YES. Si vous ne le faites pas, le projet construira, mais vous ne serez pas en mesure de créer un IPA.

Assurez-vous que votre nom de produit (sélectionnez votre cible, allez dans Paramètres de construire, puis définir « Nom du produit ») ne contient pas d'espaces, sinon l'archivage ne fonctionnera pas.

Enfin, si vous obtenez des erreurs telles que ld: library not found for -lThree20 et que vous utilisez une configuration de construction personnalisée (comme AdHoc), assurez-vous d'ajouter la même configuration de construction à chacun des Three20 projets trop (juste dupliquer la configuration de sortie) .

Ajoutez ces deux chemins à vos chemins de recherche d'en-tête dans les paramètres de construction pour votre cible:

"$ (BUILD_DIR) / Three20" "$ (BUILD_DIR) /../ Three20"

La première entrée est nécessaire pour régulière construit et la deuxième entrée est nécessaire pour les archives.

Il est facile.


Par ailleurs, pour créer un fichier dans votre répertoire personnel avec une liste de toutes les variables d'environnement de Xcode pour l'environement de votre cible, ajoutez la ligne suivante phase de construction Exécuter le script à votre cible avec le contenu: ENV> ~ / xcode-environment.sh

Notez que dans ce cas, si votre projet ne fait pas à travers la phase de compilation du processus de construction, et votre lancement du script est plus tard, le script ne sera pas exécuté, donc le mettre en premier.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top