2015-07-22 3 views
1

Je dois créer une bibliothèque universelle d'un projet de bibliothèque statique Cocoa Touch,bibliothèque statique universelle IOS avec i386 x86_64 ARMv7 armv7s arm64

J'utilise

xcodebuild -target mysdsk ONLY_ACTIVE_ARCH=NO VALID_ARCHS="arm64 armv7 armv7s i386 x86_64" -configuration ${CONFIGURATION} -sdk iphoneos BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}" 

Même si je partage l'iphonesimulator en deux xcodebuild encore je ne pouvais pas i386 pour iphone4 simuator

Je reçois erreur

Undefined symbols for architecture i386 

Basé sur How do I determine the target architecture of static library (.a) on Mac OS X?

J'ai essayé d'exécuter la commande de fichier, il affiche

mysdsk.a: Mach-O universal binary with 5 architectures 
mysdsk.a (for architecture i386): current ar archive random library 
mysdsk.a (for architecture armv7): current ar archive random library 
mysdsk.a (for architecture armv7s): current ar archive random library 
mysdsk.a (for architecture x86_64): current ar archive random library 
mysdsk.a (for architecture arm64): current ar archive random library 

Mais je reçois erreur

Undefined symbols for architecture i386 

Répondre

1

méthode Tout ce que vous avez suivi, dans la liste des architectures Je pense que tout va bien.

Il y a un problème avec XCode que même si vous faites glisser une baisse du mysdsk.a ou changement à l'intérieur du setttings de l'éditeur de liens, XCode peut encore choisir un mauvais fichier qui est stocké à l'intérieur

/Users/<your username>/Library/Developer/Xcode/DerivedData/mysdsk_........ folder 

Vous peut identifier à partir des avertissements XCode disant 3 tranches, mais il est en fait 5 tranches

ld: avertissement: ignorer le fichier /Users//Library/Developer/Xcode/DerivedData/mysdsk_......./..../ mysdsk.a, manque l'architecture requise i386 dans le fichier /Users//Library/Developer/Xcode/DerivedData/mysdsk_......./..../mysdsk.a (3 tranches)

Par conséquent Supprimez le dossier/Users // Library/Développeur/Xcode/DerivedData/mysdsk _........

Ensuite, il devrait fonctionner très bien, En fait, je considère cet élément que les autres travaux de la machine bien mais ma machine ne fonctionnait pas.

Référence ignoring file [path] missing required architecture i386 in file

+0

Trouvé USEFULL mais il semble peu de travail de peu autour, je vais essayer – Dickens

+0

En fait, j'étais un peu sceptique au sujet de cette solution, mais la solution a résolu mon problème, j'accepte cela comme une réponse, si possible Veuillez indiquer l'emplacement correct des bogues/problèmes si cela est déjà fait dans le forum des développeurs Apple – Dickens