[解決済み】デバイスがどのiOSバージョンで動作しているかをプログラムで検出するにはどうすればよいですか?重複
2022-03-31 11:51:16
質問
ユーザーがiOS 5.0未満でアプリを起動しているかどうかをチェックし、アプリ内にラベルを表示したい。
ユーザーのデバイスで動作しているiOSをプログラムで検出するにはどうすればよいですか?
ありがとうございます。
解決方法は?
現在の最適なバージョン
NSString 内で数値検索を行う必要がない場合は、以下のように定義します。
macros
(元の回答参照。
iPhoneのiOSバージョンの確認
)
これらのマクロはgithubに存在するので、参照してください。 https://github.com/carlj/CJAMacros/blob/master/CJAMacros/CJAMacros.h
こんな感じで。
#define SYSTEM_VERSION_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedSame)
#define SYSTEM_VERSION_GREATER_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedDescending)
#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)
#define SYSTEM_VERSION_LESS_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending)
#define SYSTEM_VERSION_LESS_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedDescending)
で、このように使用します。
if (SYSTEM_VERSION_LESS_THAN(@"5.0")) {
// code here
}
if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"6.0")) {
// code here
}
以下、旧バージョン
をクリックすると、OSのバージョンが表示されます。
[[UIDevice currentDevice] systemVersion]
は文字列を返します。
-[NSString floatValue]
-[NSString intValue]
このように
5.0.1は5.0または5(floatまたはint)になり、正確に比較するには、INTの配列に分離する必要があります。 受理された回答はこちらでご確認ください。 iPhoneのiOSバージョンを確認する
NSString *ver = [[UIDevice currentDevice] systemVersion];
int ver_int = [ver intValue];
float ver_float = [ver floatValue];
というように比較します。
NSLog(@"System Version is %@",[[UIDevice currentDevice] systemVersion]);
NSString *ver = [[UIDevice currentDevice] systemVersion];
float ver_float = [ver floatValue];
if (ver_float < 5.0) return false;
Swift 4.0の構文に対応
以下の例では、デバイスが
iOS11
またはそれ以上のバージョン。
let systemVersion = UIDevice.current.systemVersion
if systemVersion.cgFloatValue >= 11.0 {
//"for ios 11"
}
else{
//"ios below 11")
}
関連
-
[解決済み] iphoneで「コマンド /bin/sh failed with exit code 1」の問題を修正する方法
-
[解決済み] デバイスがiOSであるかどうかを検出する
-
[解決済み] キーボードがあるときに、UITextFieldを編集開始時に上に移動させるには?
-
[解決済み] iOSまたはmacOSで、インターネット接続が有効かどうかを確認するにはどうすればよいですか?
-
[解決済み] UITableViewの選択を無効にするにはどうすればよいですか?
-
[解決済み] iOSのバージョンを確認する方法を教えてください。
-
[解決済み] Swiftを使用してアプリのバージョンとビルド番号を取得するにはどうすればよいですか?
-
[解決済み】Xcodeのプロセス起動に失敗しました。セキュリティ
-
[解決済み】デバイスがiPhone Xであるかどうかを検出します。
-
[解決済み] in iPhone App 端末の画面解像度を検出する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】"malloc_error_breakにブレークポイントを設定してデバッグする "方法
-
[解決済み】XcodeでSymbolファイルを処理する
-
[解決済み] カスタマイズしたバーボタンアイテムで「Plain Style unsupported in a Navigation Item」の警告が表示される。
-
[解決済み] kern_invalid_address
-
[解決済み] NSData を String に変換しますか?
-
[解決済み] iOSのバージョンを確認する方法を教えてください。
-
[解決済み】iPhoneのブラウザからlocalhostで動作するWebサイトにアクセスする方法
-
[解決済み】Xcode 4 - 新規インストールしたMacintoshでプロファイルをプロビジョニングすると「Valid signing identity not found」エラーが発生する。
-
[解決済み】SwiftでOSのバージョンを確認する?
-
[解決済み】Xcode 4が "Attaching to (app name) "でハングアップする。)