J'essaie de prendre en charge les anciennes versions d'iOS dans mon application. Au début, je pensais que je devais seulement mettre ces frameworks à "weak linking" qui ne sont pas présents dans l'ancien OS, par ex. le cadre iAd. Et puis assurez-vous que je n'appelle pas APIs non pris en charge dans le code. Cependant, lorsque je tente d'exécuter l'application (qui est compilé avec le cadre le plus récent) dans l'ancien simulateur, il se bloque lors du démarrage avec un message similaire àLiaison faible pour prendre en charge les versions iOS précédentes
18/07/2010 11:07:29 UIKitApplication:xxxxx[0xe006][5729] dyld: Symbol not found: _OBJC_CLASS_$_NSAssertionHandler
18/07/2010 11:07:29 UIKitApplication:xxxxx[0xe006][5729] Referenced from: xxxxx/Applications/23CE4978-D25F-4DB4-A486-0730EBBB501B/xxxxx.app/xxxxx
18/07/2010 11:07:29 UIKitApplication:xxxxx[0xe006][5729] Expected in: /Xcode3.1.4/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.1.3.sdk/System/Library/Frameworks/Foundation.framework/Foundation
18/07/2010 11:07:29 UIKitApplication:xxxxx[0xe006][5729] in xxxxx/Applications/23CE4978-D25F-4DB4-A486-0730EBBB501B/xxxxx.app/xxxxx
Après avoir tous cadres de liaison faible, Je reçois toujours un message d'erreur:
18/07/2010 11:33:32 UIKitApplication:xxxxx[0xc4a7][8204] dyld: Symbol not found: __objc_empty_vtable
18/07/2010 11:33:32 UIKitApplication:xxxxx[0xc4a7][8204] Referenced from: xxxxx/Applications/23CE4978-D25F-4DB4-A486-0730EBBB501B/xxxxx.app/xxxxx
18/07/2010 11:33:32 UIKitApplication:xxxxx[0xc4a7][8204] Expected in: /usr/lib/libobjc.A.dylib
Qu'est-ce que je fais mal?
Pssst ... Installez un ancien SDK dans un répertoire séparé afin de pouvoir utiliser un ancien simulateur :) – iwasrobbed