2011-09-07 108 views
0

可能重複:
Check iPhone iOS Version識別設備的IOS版本動態

我建立一個具有短信作曲家(這是不提供3.0)的應用程序。 如何動態查找底層設備的操作系統版本並使SMS選項可用,並且如果不禁用該功能。

+1

通過將它與恰好在其中啓用的版本相關聯來確定服務可用性總是有點脆弱。未來,如果該服務可用時有任何差異,代碼將開始打破。我對SMS編寫器知之甚少,但是如果有一種編程方式來確定服務是否可用,那麼它將比它發生的版本檢查更好。 – bryanmac

回答

3

參考,我認爲你可以使用NSClassFromString(@"MFMessageComposeViewController"),看是否類是可用的。

(警告:。你不能檢查UIGestureRecognizer這種方式,因爲蘋果使用的專用類使用相同名稱能爲MFMessageComposeViewController是真實的)

+0

這是我上面評論的內容 - 切換功能 - 不是偶然的相關數據。 – bryanmac

+0

謝謝brynmac&Barum –

5

下面是一段代碼,這將給你所有的關於設備的信息

NSLog(@"uniqueIdentifier: %@", [[UIDevice currentDevice] uniqueIdentifier]); 
    NSLog(@"name: %@", [[UIDevice currentDevice] name]); 
    NSLog(@"systemName: %@", [[UIDevice currentDevice] systemName]); 
    NSLog(@"systemVersion: %@", [[UIDevice currentDevice] systemVersion]); 
    NSLog(@"model: %@", [[UIDevice currentDevice] model]); 
    NSLog(@"localizedModel: %@", [[UIDevice currentDevice] localizedModel]); 

你可以在這裏獲得版本號。

但我會建議你去與檢查該手機支持郵件撰寫,短信或不喜歡

類MessageClass的=(NSClassFromString(@「MFMessageComposeViewController」));

if (messageClass != nil) {   
    // Check whether the current device is configured for sending SMS messages 
    if ([messageClass canSendText]) 
    { 
     MFMessageComposeViewController *msgpicker = [[MFMessageComposeViewController alloc] init]; 
     msgpicker.messageComposeDelegate = self; 
     msgpicker.recipients = [NSArray arrayWithObject:[self.productInfoArray valueForKey:@"Phone"]]; // your recipient number or self for testing 
     msgpicker.body = @"test from OS4"; 
     NSLog(@"chat view array %@",[self.productInfoArray valueForKey:@"Phone"]); 
     [self presentModalViewController:msgpicker animated:YES]; 
     [msgpicker release]; 
     NSLog(@"SMS fired"); 


    } 
    else {  NSLog(@"chat view array %@",[self.productInfoArray valueForKey:@"Phone"]); 
     NSLog(@"Device not configured to send SMS.") ; 
     UIAlertView *alert= [[UIAlertView alloc]initWithTitle:@"Status" message:@"Device not configured to send SMS." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:@"cancel",nil]; 
     [alert show]; 
     [alert release]; 

    } 
} 

這將有助於解決您的問題。 快樂編碼 Cheers ................

+0

謝謝Sabby –

+0

歡迎你親愛的......乾杯 – Sabby