2016-04-15 17 views
0

私のアプリで動き&が有効になっているかどうかを確認しました。私はこれをチェックするために以下のコードをチェックしました。Check Motion&Fitnessオプションは設定で利用可能です

if([CMMotionActivityManager isActivityAvailable]) 
    { 
    } 

運動&フィットネスは設定で無効になっている場合にFALSEを返します。しかし、動作&フィットネスオプションは、iPhone 5とそれ以下のバージョンにはありません。だから私は、デバイスモデルがiPhone 5s以上であるかどうかを知りたがっています。これをチェックする方法はありますか?

答えて

1

あなたは運動を確認したい場合は、iOSの9以上、CMSensorRecorderクラス、それは彼らがあなたのアプリがモーション&フィットネスのために許可されているかどうかを確認する方法をご紹介し

https://developer.apple.com/library/prerelease/ios/documentation/CoreMotion/Reference/CMSensorRecorder_class/index.html#//apple_ref/occ/clm/CMSensorRecorder/isAuthorizedForRecording

を使用します。

Swiftを使用している場合は、次のように使用してください。

class func isAuthorizedForRecording() - > Bool

Objective Cの場合、

+ (BOOL)isAuthorizedForRecording 

あなたはちょうどその印刷後のモデル

#import <sys/utsname.h> // import it in your header or implementation file. 

NSString* deviceName() 
{ 
    struct utsname systemInfo; 
    uname(&systemInfo); 

    return [NSString stringWithCString:systemInfo.machine 
           encoding:NSUTF8StringEncoding]; 
} 

の完全なリストを取得する方法

[[UIDevice currentDevice] platformType] // ex: UIDevice4GiPhone 
[[UIDevice currentDevice] platformString] // ex: @"iPhone 4G" 

次使用するデバイスモデルをチェックしたい場合デバイス名を入力すると、次のいずれかの出力が表示されます

@"i386"  on 32-bit Simulator 
@"x86_64" on 64-bit Simulator 
@"iPod1,1" on iPod Touch 
@"iPod2,1" on iPod Touch Second Generation 
@"iPod3,1" on iPod Touch Third Generation 
@"iPod4,1" on iPod Touch Fourth Generation 
@"iPod7,1" on iPod Touch 6th Generation 
@"iPhone1,1" on iPhone 
@"iPhone1,2" on iPhone 3G 
@"iPhone2,1" on iPhone 3GS 
@"iPad1,1" on iPad 
@"iPad2,1" on iPad 2 
@"iPad3,1" on 3rd Generation iPad 
@"iPhone3,1" on iPhone 4 (GSM) 
@"iPhone3,3" on iPhone 4 (CDMA/Verizon/Sprint) 
@"iPhone4,1" on iPhone 4S 
@"iPhone5,1" on iPhone 5 (model A1428, AT&T/Canada) 
@"iPhone5,2" on iPhone 5 (model A1429, everything else) 
@"iPad3,4" on 4th Generation iPad 
@"iPad2,5" on iPad Mini 
@"iPhone5,3" on iPhone 5c (model A1456, A1532 | GSM) 
@"iPhone5,4" on iPhone 5c (model A1507, A1516, A1526 (China), A1529 | Global) 
@"iPhone6,1" on iPhone 5s (model A1433, A1533 | GSM) 
@"iPhone6,2" on iPhone 5s (model A1457, A1518, A1528 (China), A1530 | Global) 
@"iPad4,1" on 5th Generation iPad (iPad Air) - Wifi 
@"iPad4,2" on 5th Generation iPad (iPad Air) - Cellular 
@"iPad4,4" on 2nd Generation iPad Mini - Wifi 
@"iPad4,5" on 2nd Generation iPad Mini - Cellular 
@"iPad4,7" on 3rd Generation iPad Mini - Wifi (model A1599) 
@"iPhone7,1" on iPhone 6 Plus 
@"iPhone7,2" on iPhone 6 
@"iPhone8,1" on iPhone 6S 
@"iPhone8,2" on iPhone 6S Plus 
@"iPhone8,4" on iPhone SE 

あなたはスウィフトにしたい場合は、リンク

iOS: How to determine the current iPhone/device model in Swift?

の下に使用してください
関連する問題