Je construis une application universelle qui utilise un contrôleur UISplitViewController pour l'iPad, et devrait fonctionner sur n'importe quel appareil 3.0 tel qu'un iPhone/iPod touch de première génération. Le problème est que, malgré le fait que je ne suis pas en fait de créer des instances de UISplitViewController alors que l'application est en cours d'exécution sur un iPhone, je reçois toujours lesSous-classe UISplitViewController dans une application universelle
dyld: Symbol not found: _OBJC_CLASS_$_UISplitViewController
Referenced from: /var/mobile/Applications/.....
Expected in: /System/Library/Frameworks/UIKit.framework/UIKit
redoutés erreurs dans la console lors d'une tentative d'exécuter sur un iPod de 1re génération toucher. Tout fonctionne correctement sur les appareils iOS 4. Je suppose que le problème est que j'ai sous-classé UISplitViewController et il étouffe lors de la lecture de la ligne "@interface SplitControl: UISplitViewController {" d'un fichier .h. La seule raison pour laquelle je l'ai sous-classé est de surcharger la méthode shouldAutorotateToInterfaceOrientation. Je fais mon application entière par programme sans IB. Serait-il utile si j'utilisais IB pour créer ce SplitViewController et lui dire de supporter toutes les orientations?
Existe-t-il un moyen de surcharger shouldAutorotateToInterfaceOrientation sans sous-classer le contrôleur? Toute autre façon de masquer UISplitViewController à partir d'appareils pré-3.2?
Je compile avec Base SDK 4.0, donc des macros comme '#if __IPHONE_OS_VERSION_MAX_ALLOWED> = 30200' ne seraient pas utiles. J'ai besoin que cela soit résolu au moment de l'exécution, pas au moment de la compilation. – SaltyNuts