[解決済み】SwiftでOSのバージョンを確認する?
2022-04-17 09:49:52
質問
Swiftでシステム情報を確認しようとしています。私はそれがコードによって達成される可能性があることを、考え出した。
var sysData:CMutablePointer<utsname> = nil
let retVal:CInt = uname(sysData)
このコードには2つの問題があります。
- sysDataの初期値はどうすればいいのか?この例では、おそらく sysData が nil であるため retVal に -1 を与えています。
- sysDataから情報を読み取るにはどうしたらよいですか?
どのように解決するのですか?
iOSの場合、お試しください。
var systemVersion = UIDevice.current.systemVersion
OS Xの場合、試してみてください。
var systemVersion = NSProcessInfo.processInfo().operatingSystemVersion
もし、ユーザーが特定のバージョン以上を実行しているかどうかを確認したいだけなら、iOSとOS Xで動作する以下のSwift 2の機能を使用することもできます。
if #available(iOS 9.0, *) {
// use the feature only available in iOS 9
// for ex. UIStackView
} else {
// or use some work around
}
しかし、OSのバージョンを確認することはお勧めしません。バージョン番号を比較するよりも、使いたい機能がその端末で使えるかどうかを確認したほうがよいでしょう。 iOSの場合、前述の通り、セレクタに反応するかどうかを確認する必要があります。 例えば
if (self.respondsToSelector(Selector("showViewController"))) {
self.showViewController(vc, sender: self)
} else {
// some work around
}
関連
-
[解決済み】iOS 9.0より前のUIStackView
-
[解決済み] 使用しているSwiftのバージョンを確認するにはどうすればよいですか?
-
[解決済み] iOSまたはmacOSで、インターネット接続が有効かどうかを確認するにはどうすればよいですか?
-
[解決済み] SwiftからObjective-Cのコードを呼び出すにはどうしたらいいですか?
-
[解決済み] Swiftで#pragmaマーク?
-
[解決済み] Swift Betaのパフォーマンス:配列のソート
-
[解決済み] iOSのバージョンを確認する方法を教えてください。
-
[解決済み] Mac OSでNode.jsを最新バージョンにアップグレードする。
-
[解決済み] Swiftベースのアプリケーションは、OS X 10.9/iOS 7以下でも動作しますか?
-
[解決済み] Swiftを使用してアプリのバージョンとビルド番号を取得するにはどうすればよいですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Cocoapodsをインストールできない - プロジェクト・ディレクトリにポッドファイルが見つからない
-
[解決済み】iOS用のプライベートメッセージUI(受信、送信、作成)フレームワークはありますか?
-
[解決済み】"宣言はファイルスコープでのみ有効 "について
-
[解決済み] キャッチできない例外 'NSInvalidArgumentException', reason: '-[_.AppDelegate add:]: unrecognized selector' により、アプリを終了する。
-
[解決済み] 警告 xcode 6 で暗黙の変換により整数の精度が失われる
-
[解決済み] ブリッジングヘッダ用のプリコンパイルヘッダの発行に失敗しました。
-
[解決済み] swift3におけるセレクタ
-
[解決済み] iOS 9 : ユニバーサルアプリの警告「アプリがフルスクリーンを必要としない限り、すべてのインターフェイスの向きをサポートする必要があります」。
-
[解決済み] ナビゲーションアイテムのタイトルカラーを変更する方法
-
[解決済み】デバイスがどのiOSバージョンで動作しているかをプログラムで検出するにはどうすればよいですか?重複