J'ai écrit un iPhone et iPad app universelle qui fonctionne très bien sur l'iPad simulateur sur Xcode, mais maintenant, j'aimerais tester les fonctionnalités de l'iPhone. Je ne semble pas en mesure d'exécuter le simulateur d'iPhone, avec ce code, comme il le fait toujours défaut à l'iPad?
Au lieu de cela j'ai essayé de courir sur l'appareil et qu'il commence à courir, j'obtiens l'erreur suivante:
dyld: Symbol not found: _OBJC_CLASS_$_UISplitViewController
Referenced from: /var/mobile/Applications/9770ACFA-0B88-41D4-AF56-77B66B324640/Test.app/Test
Expected in: /System/Library/Frameworks/UIKit.framework/UIKit in /var/mobile/Applications/9770ACFA-0B88-41D4-AF56-77B66B324640/Test.app/TEST
Comme l'Application est développée par programme plutôt que d'utiliser XIB, j'ai divisé les 2 périphériques logiques en utilisant les lignes suivantes dans la main.m méthode:
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
retVal = UIApplicationMain(argc, argv, nil, @"AppDelegate_Pad");
}
else
{
retVal = UIApplicationMain(argc, argv, nil, @"AppDelegate_Phone");
}
À partir de ce moment-là, ils utilisent différents AppDelegates et j'ai vérifié mes en-têtes pour assurer la UISplitView n'est jamais utilisé ni importé via le Téléphone de la logique.
Comment puis-je éviter cette erreur, et est-il une meilleure façon de diviser l'universel logique, des chemins par programme créé d'application?