2012-01-14 3 views
1

J'ai récemment mis à niveau mon projet de Xcode 4.0.1 vers Xcode 4.2 - et tout s'est bien déroulé, j'ai fait du débogage dans le simulateur et j'ai décidé de construire avec le périphérique.Impossible de créer un périphérique 4.2.1 avec Xcode 4.2

Mon appareil est un 2ème génération iPod Touch en cours d'exécution 4.2.1, donc je d'abord tenté de construire à lui et a cette erreur:

An unknown error message 'IncorrectArchitecture', was received from the device.

Comme vous le faites avec la plupart des messages d'erreur, je googlé, et trouvé ceci question. Après avoir lu la réponse, j'ai procédé à une vérification de mes architectures cibles, et il s'est avéré que je n'avais que armv7 comme architecture à construire. - J'ai ajouté l'architecture armv6, comme la réponse suggère, mais quand je l'ai construit, je suis une charge de construction avertissements/erreurs telles que:

ignoring file /some/path/to/a/staticlibrary.a, file was built for archive which is not the architecture being linked (armv6)

Cela se produit sur toutes les bibliothèques statiques dans mon projet, tels que la bibliothèque kal - libkal.a et toutes les trois bibliothèques.

Ces bibliothèques sont bien liées dans Xcode 4.0.2 - et elles ont également été très bien intégrées à mon iPod - alors pourquoi l'architecture armv7 ne sera-t-elle pas compilée ET les bibliothèques ne lieront pas pour armv6 dans Xcode 4.2? - Je suis vraiment confus - toute suggestion serait grandement appréciée.

+0

Cela pourrait aider http://stackoverflow.com/questions/8058177/app-built-with-xcode-4-2-ios-5-0-crashing-when-installed-on-iphone -with-ios-4-3 Vous devez probablement définir des architectures valides pour armv6 armv7 –

+0

@Maudicus - merci, j'ai essayé toutes les solutions dans la réponse liée à votre réponse, et celle que vous avez suggérée, et mon projet était déjà réglé à tous ceux en dehors du compilateur, qui n'a eu aucun effet, donc je l'ai changé –

Répondre

3

Ajouter ARMv6 à vos paramètres de construction comme celui-ci:

  1. Sélectionnez vos paramètres de construction
  2. Faites défiler jusqu'à Architectures
  3. Doubletap sur l'entrée existante
  4. Tap sur +
  5. Entrez armv6
  6. Tap sur Fait

Vous devez faire cela pour tous projets qui sont liés à votre application (par exemple trois20).

enter image description here

+0

acclamations - et est-ce seulement pour la "cible" ou juste le "projet" ou les deux pour chaque projet lié? –

+0

Assurez-vous qu'il est configuré de cette façon pour la cible. – Till

+0

Oh mon dieu. En fait construit. Merci beaucoup! - Cependant, j'ai maintenant 58 avertissements ... tous ne sont pas mon code mais la plupart de Three20 (51) et certains d'autres externes dans mon projet - il semble que Xcode 4.2 est beaucoup plus strict sur des choses comme appeler des propriétés juste pour les initialiser sans vraiment les utiliser (en leur donnant quelque chose) - trois20 ça fait beaucoup - et en ajoutant l'architecture supplémentaire je crois que Xcode a dupliqué chaque avertissement - de toute façon merci beaucoup! –

Questions connexes