Если я правильно понимаю ваш вопрос, вы хотите ограничить возможности своего приложения в зависимости от того, работает ли приложение на iPod touch или iPhone? Если это так ... (если нет, вам нужно перефразировать ваш вопрос)
Проверьте эту страницу в документации .
Он предназначен для класса UIDevice
, который позволяет получить доступ к базовой информации об устройстве, на котором запущено приложение. Метод, связанный с вышеупомянутым, является свойством «модели» UIDevice. Это может быть очень полезно. Например:
if ([[[UIDevice currentDevice] model] rangeOfString:@"iPhone"].location != NSNotFound) {
NSLog(@"I am running on an iPhone (or in the simulator)");
} else {
NSLog(@"I am running on an iPod touch");
}
Использовать это в большом количестве мест может быть утомительно. Вот где было бы полезно создать категорию на UIDevice, например:
//UIDevice+ModelInfo.h
@interface UIDevice (ModelInfo)
- (BOOL) isiPhone;
@end
//UIDevice+ModelInfo.m
@implementation UIDevice (ModelInfo)
- (BOOL) isiPhone {
static BOOL isiPhone;
static BOOL modelTypeInitialized;
if (modelTypeInitialized == NO) {
modelTypeInitialized = YES;
isiPhone = ([[self model] rangeOfString:@"iPhone"] != NSNotFound);
}
return isiPhone;
}
@end
Это даже кеширует результат для вас, поэтому сравнение строк выполняется только один раз. Теперь вы можете сделать:
#import "UIDevice+ModelInfo.h"
if ([[UIDevice currentDevice] isiPhone]) {
NSLog(@"Do something iPhoney");
} else {
NSLog(@"I cannot do iPhoney things");
}
Счастливого Рождества.