J'essaie de créer une bibliothèque statique que je peux utiliser avec ios3.x et ios4.x. Je peux construire une bibliothèque statique avec ios3.0 qui fonctionne avec un autre projet dans ios3.0 mais ne compilera pas dans ios4. La même chose est vraie allant de ios4 à ios3.Comment créer une bibliothèque statique ios universelle
Voici comment recréer:
- Ouvrir XCode 3.2.4 et commencer un nouveau projet qui est une bibliothèque statique Cocoa Touch appelé bibliothèque4
- Cliquez sur le dossier cours et créer un nouveau UIViewController nommé « TestViewController »
- Cliquez avec le bouton droit sur le dossier Frameworks, ajoutez le cadre existant, choisissez UIKit
- Dans le panneau de gauche, développez des cibles, cliquez avec le bouton droit sur ma cible de bibliothèque et cliquez sur Obtenir des informations. Passer à toutes les configurations, Changer la base sdk pour iphone simulator 4.0, changer la cible de déploiement ios en ios3.0
- Cliquez sur le dossier Bibliothèque de liens avec les binaires. Dans le volet droit, modifiez les rôles des deux à « faible »
- construire la bibliothèque
- Ouvrir Xcode 3.2.2 et lancer une nouvelle application appelée Voir Library4Test
- Copier TestViewController.h aux classes folder
- Copiez le fichier libLibrary4.a dans le dossier frameworks. Il est automatiquement ajouté à la phase de l'éditeur de liens de la cible.
- Cliquez avec le bouton droit de la souris sur la cible Library4Test et cliquez sur Obtenir des informations. Dans d'autres drapeaux de l'éditeur de liens, ajouter « -ObjC » et « -all_load »
- Dans l'en-tête délégué app ajouter Importer « TestViewController.h »
Dans la méthode de la demande d'en-tête délégué app didFinishLaunchingWithOptions ajouter
TestViewController * Test = [TestViewController alloc] init;
compilez avec simulateur de ios3.0
Quand je reçois compilez je:
Ld build/Debug-iphonesimulator/library4Test.app/library4Test normal i386
cd /Users/test/Documents/Testing/library4Test
setenv MACOSX_DEPLOYMENT_TARGET 10.5
setenv PATH "/Developer/GrandpaIPhone/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/GrandpaIPhone/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Developer/GrandpaIPhone/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 -arch i386 -isysroot /Developer/GrandpaIPhone/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.1.3.sdk -L/Users/test/Documents/Testing/library4Test/build/Debug-iphonesimulator -L/Users/test/Documents/Testing/library4Test -F/Users/test/Documents/Testing/library4Test/build/Debug-iphonesimulator -filelist /Users/test/Documents/Testing/library4Test/build/library4Test.build/Debug-iphonesimulator/library4Test.build/Objects-normal/i386/library4Test.LinkFileList -mmacosx-version-min=10.5 -framework Foundation -framework UIKit -framework CoreGraphics -llibrary4_1 -o /Users/test/Documents/Testing/library4Test/build/Debug-iphonesimulator/library4Test.app/library4Test
Undefined symbols:
"_objc_msgSendSuper2", referenced from:
-TestViewController didReceiveMemoryWarning in liblibrary4_1.a(TestViewController.o)
-TestViewController viewDidUnload in liblibrary4_1.a(TestViewController.o)
-TestViewController dealloc in liblibrary4_1.a(TestViewController.o)
"__objc_empty_vtable", referenced from:
_OBJC_METACLASS_$_TestViewController in liblibrary4_1.a(TestViewController.o)
_OBJC_CLASS_$_TestViewController in liblibrary4_1.a(TestViewController.o)
"_OBJC_CLASS_$_UIViewController", referenced from:
_OBJC_CLASS_$_TestViewController in liblibrary4_1.a(TestViewController.o)
"_OBJC_METACLASS_$_UIViewController", referenced from:
_OBJC_METACLASS_$_TestViewController in liblibrary4_1.a(TestViewController.o)
".objc_class_name_TestViewController", referenced from:
[email protected][email protected][email protected] in library4_1os3TestAppDelegate.o
"_OBJC_METACLASS_$_NSObject", referenced from:
_OBJC_METACLASS_$_TestViewController in liblibrary4_1.a(TestViewController.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
Pour les personnes souhaitant simplement créer une bibliothèque IOS statique: http://stackoverflow.com/questions/3520977/build-fat-static-library-device-simulator-using-xcode-and-sdk-4 –