Avec Xcode 6, nous avons la possibilité de créer notre propre dynamique Cocoa Frameworks
.
En raison de:
Le simulateur utilise toujours la
32-bit
bibliothèque-
à compter du 1er juin 2015, les mises à jour des applications soumises à l'App Store doivent inclure la prise en charge 64 bits et être créées avec le SDK iOS 8 ( developer.apple.com )
Nous devons créer une grosse bibliothèque pour exécuter des projets sur des appareils et des simulateurs. c'est-à-dire prendre en charge les 32 et 64 bits dans les cadres.
Mais je n'ai trouvé aucun manuel sur la façon d' exporter Universal Fat Framework pour une intégration future avec d'autres projets (et de partager cette bibliothèque avec quelqu'un).
Voici mes étapes pour reproduire:
Situé
ONLY_ACTIVE_ARCH=NO
dans leBuild Settings
Ajouter un support
armv7 armv7s arm64 i386 x86_64
àArchitectures
(bien sûr)
- Construisez Framework et ouvrez-le dans Finder:
- Ajouter ce cadre à un autre projet
Résultat actuel:
Mais à la fin, j'ai toujours un problème avec l'exécution du projet avec ce cadre sur les appareils et le simulateur à la fois.
si je prends le cadre du
Debug-iphoneos
dossier - cela fonctionne sur les appareils et obtient une erreur sur les simulateurs:ld: symbol(s) not found for architecture i386
xcrun lipo -info CoreActionSheetPicker
Les architectures dans le fichier fat: CoreActionSheetPicker sont: armv7 armv7s arm64
si je prends le cadre du
Debug-iphonesimulator
dossier - cela fonctionne sur des simulateurs. et j'ai une erreur sur l'appareil:ld: symbol(s) not found for architecture arm64
xcrun lipo -info CoreActionSheetPicker
Les architectures dans le fichier fat: CoreActionSheetPicker sont: i386 x86_64
Alors, comment créer un framework dynamique qui fonctionne sur les appareils et les simulateurs?
Cette réponse concernait Xcode 6 iOS Création d'un cadre Cocoa Touch - Problèmes d'architecture, mais ce n'est pas en double.
Mettre à jour:
J'ai trouvé un "sale hack" pour cette affaire. Voir ma réponse ci-dessous . Si quelqu'un connaît un moyen plus pratique - s'il vous plaît, faites le moi savoir!