① ios判斷設備是iphone還是ipad
在ios開發的過程中,有可能這里應用在iphone和ipad上都要使用,但是怎麼判斷當前設備是iphone還是ipad呢,在這里提供一種方法來判斷這個設備是什麼設備,具體代碼如下
?
NSString *nibTitle = @"PadContent"; //默認是ipad
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
{ //如果當前設備是iphone 就改為iphone的nib文件
nibTitle = @"PhoneContent";
}
[[NSBundle mainBundle] loadNibNamed:nibTitle owner:self options:nil];//載入nib
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
// Override point for customization after application launch.
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController_iPhone"bundle:nil] autorelease];
} else {
self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController_iPad"bundle:nil] autorelease];
}
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
return YES;
}
② 如何判斷當前iOS設備
蘋果設置,通用,關於本機裡面有序列號,可以上蘋果官網查詢,這樣可以從官方給出的結果判斷當前ios設備,當然還有質保年限。
③ ios判斷設備是iphone還是ipad
在ios開發的過程中,有可能這里應用在iphone和ipad上都要使用,但是怎麼判斷當前設備是iphone還是ipad呢,在這里提供一種方法來判斷這個設備是什麼設備,具體代碼如下 ? NSString *nibTitle = @"PadContent"; //默認是ipad if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) { //如果當前設備是iphone 就改為iphone的nib文件 nibTitle = @"PhoneContent"; } [[NSBundle mainBundle] loadNibNamed:nibTitle owner:self options:nil];//載入nib - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions { self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; // Override point for customization after application launch. if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) { self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController_iPhone"bundle:nil] autorelease]; } else { self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController_iPad"bundle:nil] autorelease]; } self.window.rootViewController = self.viewController; [self.window makeKeyAndVisible]; return YES; }
④ 如何判斷 ios設備的類型
如果是Xcode 4.2 ,那麼 1. 在info.plist 中 增加 一個 URL Schemes: XXX 添加的具體細節是: 1.1 打開 info.plist ,在 Information Property List的下面增加一項:URL types 1.2 然後在 URL Types 下面增加一項 Item 0 ,這是個Dictionary 1.3 在 Item0 下面增加一個 URL Schemes 類型的 Array 1.4 然後在URL Schemes 的下面增加一個 URL identifier ,String值可以不填 在 Item0 的下面增加一個 Item0, String值就是 XXX 就可以了。
⑤ 如何判斷 ios設備的類型
用下面的功能函數就可以: + (NSString*)getDeviceVersion { size_t size; sysctlbyname("hw/ios/ ipad/ios/ 判斷ipad/iphone UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone ?或者 [[[UIDevice currentDevice] model] isEqualToString:@"iPad"]; ?判斷設備是否有攝像頭 [UIImagePickerController isSourceTypeAvailable:]; ?
⑥ 如何判斷當前iOS設備
在程序中涉及到全屏的寬高的時候初始化的時候代碼中不要寫和
#define Screen_height [[UIScreen mainScreen] bounds]sizeheight
#define Screen_width [[UIScreen mainScreen] bounds]sizewidth
使用宏定義方法判斷
#define iPhone ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake( ) [[UIScreen mainScreen] currentMode]size) : NO)
if(iPhone){
/*代碼操作*/
}else{
/*代碼操作*/
}
if([ [ UIDevice currentDevice ] userInterfaceIdiom ] == UIUserInterfaceIdiomPhone ){
//IPhone設備
}else{
//ipad設備
}
網上還有一種方法
+ (NSString*)deviceString
{
// 需要#import "sys/utsnameh"
struct utsname systemInfo;
uname(&systemInfo);
NSString *deviceString = [NSString stringWithCString:systemInfomachine encoding:NSUTFStringEncoding];
if ([deviceString isEqualToString:@"iPhone"]) return @"iPhone G";
if ([deviceString isEqualToString:@"iPhone"]) return @"iPhone G";
if ([deviceString isEqualToString:@"iPhone"]) return @"iPhone GS";
if ([deviceString isEqualToString:@"iPhone"]) return @"iPhone ";
if ([deviceString isEqualToString:@"iPhone"]) return @"iPhone S";
if ([deviceString isEqualToString:@"iPhone"]) return @"iPhone ";
if ([deviceString isEqualToString:@"iPhone"]) return @"Verizon iPhone ";
if ([deviceString isEqualToString:@"iPod"]) return @"iPod Touch G";
if ([deviceString isEqualToString:@"iPod"]) return @"iPod Touch G";
if ([deviceString isEqualToString:@"iPod"]) return @"iPod Touch G";
if ([deviceString isEqualToString:@"iPod"]) return @"iPod Touch G";
if ([deviceString isEqualToString:@"iPad"]) return @"iPad";
if ([deviceString isEqualToString:@"iPad"]) return @"iPad (WiFi)";
if ([deviceString isEqualToString:@"iPad"]) return @"iPad (GSM)";
if ([deviceString isEqualToString:@"iPad"]) return @"iPad (CDMA)";
if ([deviceString isEqualToString:@"i"]) return @"Simulator";
if ([deviceString isEqualToString:@"x_"]) return @"Simulator";
NSLog(@"NOTE: Unknown device type: %@" deviceString);
return deviceString;
}
⑦ 如何判斷當前iOS設備
開發當中幾種判斷當前iOS設備的實現方法,簡單粗暴的代碼段展現,希望對大家能有所幫助。
1.在程序中涉及到全屏的寬高的時候,初始化的時候,代碼中不要寫320和480
#define Screen_height [[UIScreen mainScreen] bounds].size.height #define Screen_width [[UIScreen mainScreen] bounds].size.width 2.使用宏定義方法判斷
#define iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO) if(iPhone5){ /*代碼操作*/ }else{ /*代碼操作*/ } if([ [ UIDevice currentDevice ] userInterfaceIdiom ] == UIUserInterfaceIdiomPhone ){ //IPhone設備 }else{ //ipad設備 }
網上還有一種方法:
+ (NSString*)deviceString { // 需要#import "sys/utsname.h" struct utsname systemInfo; uname(&systemInfo); NSString *deviceString = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding]; if ([deviceString isEqualToString:@"iPhone1,1"]) return @"iPhone 1G"; if ([deviceString isEqualToString:@"iPhone1,2"]) return @"iPhone 3G"; if ([deviceString isEqualToString:@"iPhone2,1"]) return @"iPhone 3GS"; if ([deviceString isEqualToString:@"iPhone3,1"]) return @"iPhone 4"; if ([deviceString isEqualToString:@"iPhone4,1"]) return @"iPhone 4S"; if ([deviceString isEqualToString:@"iPhone5,2"]) return @"iPhone 5"; if ([deviceString isEqualToString:@"iPhone3,2"]) return @"Verizon iPhone 4"; if ([deviceString isEqualToString:@"iPod1,1"]) return @"iPod Touch 1G"; if ([deviceString isEqualToString:@"iPod2,1"]) return @"iPod Touch 2G"; if ([deviceString isEqualToString:@"iPod3,1"]) return @"iPod Touch 3G"; if ([deviceString isEqualToString:@"iPod4,1"]) return @"iPod Touch 4G"; if ([deviceString isEqualToString:@"iPad1,1"]) return @"iPad"; if ([deviceString isEqualToString:@"iPad2,1"]) return @"iPad 2 (WiFi)"; if ([deviceString isEqualToString:@"iPad2,2"]) return @"iPad 2 (GSM)"; if ([deviceString isEqualToString:@"iPad2,3"]) return @"iPad 2 (CDMA)"; if ([deviceString isEqualToString:@"i386"]) return @"Simulator"; if ([deviceString isEqualToString:@"x86_64"]) return @"Simulator"; NSLog(@"NOTE: Unknown device type: %@", deviceString); return deviceString; }
轉載
⑧ 如何判斷當前iOS設備
什麼意思?你是想確定是不是IOS設備嗎?你可以在電腦上下載蘋果的itunes後插上手機就可以知道是不是IOS設備了
⑨ 如何判斷自己的iOS設備是否存在漏電,耗電
蘋果的天才吧每天都要解決許多用戶所遇到的問題,但即使是售後服務老手,一些看似簡單的問題也足以把他們問倒,比如最常見的「為什麼我的iPhone耗電這么快?」這種問題幾乎是無解的。一位來自美國的天才吧蘋果老員工通過幾年的研究,加以自身的工作經驗和親自測試,總結出了幾條iOS設備電池耗電的原因,諸位iPhone用戶好好牢記於心吧。 如何判斷自己的iOS設備是否存在漏電、耗電過快問題? 首先我們來看一下如何測試iOS設備的電池耗電情況。最新版本的iOS 7.1雖然帶來了一些設計的改變與功能的改進,但不少用戶都表示在升級後設備的續航能力變短。打開設置>通用>用量,在底部顯示的就是設備的實際使用時間與待機時間。通情況下,iPhone的使用時間會遠遠小於待機時間,除非你在充滿電拔下插頭後就開始不斷地使用設備。 所以,你的第一步工作就是:記下使用時間與待機時間,鎖屏,保持這個狀態5分鍾,然後喚醒設備,記下前後兩個時間的變化。如果設備真正進入了休眠狀態,那麼待機時間應該增加5分鍾,使用時間的增幅應該小於1分鍾。如果使用時間的變化大於1分鍾,那就表明你的iOS設備存在了電池的消耗過快的問題,有些因素使得設備並沒有正常地休眠,這便是造成續航縮短的原因。 如果你遇到了這個問題,那就請繼續往下看,也許以下幾個方法就能幫到你。解決耗電過快問題的方法: 第一步:關閉Facebook等社交應用的定位功能與後台程序刷新 經蘋果的開發者工具Xcode測試,Facebook等社交應用即使在不使用的時候,也會出現在進程列表中。如果把Facebook的定位和後台刷新功能關閉,電池剩餘電量百分比居然就會提高。經在多台iPhone上測試後結果都是如此。對於國內用戶而言,微博等社交App的定位功能值得商榷,你真的需要每發條微博就告訴大家一次自己所在位置嗎? 第二步:關閉你不常用應用的後台刷新 除了Facebook等社交App外,還有不少App會在後台刷新。如果你需要的話,應用後台刷新是一個相當有用的功能,但不是每一個iOS設備上的app都需要如此。關閉不需要的後台刷新能幫你省下一定的電量。 第三步:不要在多任務界面里直接退出程序 許多人認為,關閉多任務中顯示的程序就能讓它們不在後台運行,這樣便能省電。其實不然,使用多任務界面退出程序反而會降低設備的使用時間。為什麼?這是因為在退出程序時,你其實就將這個應用清除出了內存,而下次打開時程序就必須再次重新載入,這樣反而更耗電。 iOS的後台機制是在需要更多內存時自動關閉一些應用,所以永遠不要擔心內存不夠。其實多任務界面中的那些程序根本就沒有在後台運行,iOS凍結了它們,並隨時准備著再次打開後繼續運行。對於iOS而言,真正能在後台不間斷運行的應用只有音樂、定位服務、錄音、視頻通話等,當它們運行在後台時,會在狀態欄上出現專門的圖標。 第四步:暫時關閉電子郵件推送 電子郵件的推送是個很實用的功能,但如果設置錯誤,則很可能成為耗電大戶。你可以試驗將自動刷新接受時間間隔分別設為1小時、30分鍾、15分鍾,然後觀察設備的掉電情況。 對於Exchange推送郵件而言,如果手機不斷地檢查有沒有新的郵件,那隻要6個小時就能耗完一台iPhone 5所有的電量。這並不是設計的問題,而是因為郵件推送能讓你的設備無法正常休眠。 第五步:關閉讓你覺得受到干擾的應用通知推送 每一條推送通知都會喚醒設備5-10秒的時間,如果通知很多,那累加起來就是個不小的數字。全速工作和待機狀態下的CPU耗電量會相差數十倍,而這些通知中,相信有不少是你根本不關心的,那就把它們關閉好了,只留下你真正想要的推送。 第六步:關閉電池百分比顯示 不少有強迫症的用戶會不斷地查看剩餘電量百分比,點亮屏幕、解鎖、查看的過程本身也會帶來電量的消耗。索性把這個百分比的顯示關閉,不要太在意設備還剩餘多少電量,也許這樣設備的續航在不知不覺中就延長了。 第七步:去蘋果零售店尋求幫助 據悉,蘋果已經對所有iOS技術員進行了「延長電池續航測試」的培訓,天才吧或許就能幫你解決疑惑。而且,如果電池真的存在問題,技術員可以在設備保修期內為你免費更換電池。 第八步:在信號差的地方打開飛行模式 電池消耗過快的主要原因之一就是網路信號差,當iPhone在不斷搜尋信號時,手機的基帶晶元、射頻前端會消耗大量電能,耗電量自然就會增大。注意:即使你的手機已經連上了WiFi,它依舊需要信號來接通電話與SMS簡訊,也會不斷地搜尋信號。 如果身處沒有信號的地方,不如直接上拉控制中心來啟用飛行模式,此時若有WiFi信號,可在通知中心再按一下WiFi的圖標,這樣就可以在不接受蜂窩信號的情況下只使用Wi-Fi來上網了。在LTE/4G/3G信號不佳時,也建議在設置中關閉蜂窩移動網路,這樣也不影響接聽電話和Wi-Fi連接。 結論 如果你按照以上的方法做了,那你的iPhone、iPad或者iPod將獲得最長的續航時間。如果你的設備還無法堅持一天的話,那隻能說明你是個重度使用者,這就不是設備本身的問題了,更好的建議是隨身攜帶著移動電源。