Essayant d'obtenir un grand bâtiment de projet (et de travailler sur Xcode 11!) Dans Xcode 12 (bêta 5) à la préparation pour iOS 14. Codebase était auparavant Obj-C, mais contient maintenant obj-C et Swift, et utilise des pods qui sont Obj-C et/ou Swift aussi.
J'ai tiré la nouvelle version bêta des cocoapodes avec support Xcode 12 (actuellement 1.10.0.beta 2).
L'installation de POD réussit. Lorsque je fais une construction, j'obtiens l'erreur suivante sur un cadre de POD:
"Bâtiment pour iOS Simulator, mais relie au fichier d'objet construit pour iOS, pour architecture arm64"
Quand je vais courir lipo -info sur le cadre, il a: armv7s armv7 i386 x86_64 arm64.
Auparavant, le projet avait des architectures valides à: ARMV7, AMVV7 et Arm64.
Dans Xcode 12, ce réglage s'en va, selon la documentation d'Apple. Les architectures sont définies sur $ (Archs_Standard). Je n'ai rien installé dans des architectures exclues.
Quelqu'un a-t-il une idée de ce qui peut se passer ici? Je n'ai pas encore pu reproduire cela avec un projet plus simple encore.
Après avoir essayé beaucoup de réponses inutiles en ligne. Cela fonctionne pour moi.
Tout d'abord, génère X86_64 pour les projets de pod !!!!
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['ARCHS'] = "arm64 x86_64"
end
end
end
Deuxièmement, ajoutez "x86_64" pour valide_archs
Partager la solution qui a fonctionné pour moi, ce qui peut aider quelqu'un
Problème lors de la compilation du simulateur:
bâtiment pour iOS Simulator, mais reliant le fichier d'objet construit pour iOS, pour architecture arm64
XCODE 12.1, POD 1.9.1
Ma structure de projet
arm64
Pour construire des paramètres -> Exclude Architecture
Dans toutes les cibles.arm64
de VALID_ARCHS
et ajouté x86_64
Dans toutes les cibles.Ajouter le code suivant en podfile
post_install do |installer|
installer.pods_project.build_configurations.each do |config|
config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64"
end
end
Fait pod update
, supprimé podfile.lock
, et a fait pod install
Faire de la construction propre.
Après avoir exclu Arm64, j'ai toujours eu des arches [@]: variable non liée. Pour moi, la seule solution consistait à ajouter x86_64 au paramètre de construction cible, comme indiqué ici Problèmes après la mise à niveau vers Xcode 12: LD: Bâtiment pour iOS Simulator, mais reliant en dylib construit pour iOS, architecture arm64 Vous pourrait retirer l'exclusion ARM64 que vous avez ajouté auparavant.