Вы можете использовать модификатор устройства (например, ~ ipad) для предоставления определенного в устройстве ключа в Info.plist и указать образ запуска для устройства (Default.png для iPhone и Default ~ ipad.png для iPad, например). Эти две вещи специально упоминаются в Apple Docs, но они не говорят, что это будет работать для любых других типов файлов.
Я обнаружил (совершенно случайно), что это работает для загрузки файлов .xib через initWithNibName:bundle:
. Так, например, я могу иметь MyView.xib и MyView ~ ipad.xib, и этот код:
MyViewController *viewController = [[MyViewController alloc]
initWithNibName:@"MyView" bundle:nil];
... полностью загрузит MyView ~ ipad.xib на iPad и MyView.xib на другие устройства.
Итак, 1) Является ли это документированным где-то? Я не мог найти ни одного документа Apple. Это надежное средство, чем проверка UI_USER_INTERFACE_IDIOM() и жесткого кодирования двух разных имен нитей во всем мире, но я не доверяю ему, если он не документирован.
И, 2) Кто-нибудь знает, какая версия iOS начала работать? Я только пробовал это в 4.2, и он работает там. Модификаторы устройств в целом (даже для документированных вещей, перечисленных выше) составляют минимум 4.0.