IOS
 Computer >> コンピューター >  >> プログラミング >> IOS

iPhone SDKでデバイスタイプ(iPhone、iPod Touch)を判別する方法は?


iOSアプリケーションで作業する場合、アプリケーションがインストールされているデバイスを認識し、使用しているデバイスに応じてカスタム機能を提供する必要がある場合があります。たとえば、iPhone Xにはいくつかの機能を提供したいが、iPhone 7には提供したくない。この記事では、iOSアプリケーションを使用して、使用されているiOSデバイスを見つける方法を学習します。

目的の結果を達成するために必要となるいくつかの用語を見ていきましょう。

utsname −これはiOSのDarwinモジュールにある構造です

uname − unameは、utsnameを入力として受け取り、Int32を出力として返す関数です。

iOS SDKで使用中のデバイスを見つけるのは簡単な作業です。モデルまたは名前を見つける必要がある場合は、以下のコードのいずれかを使用でき、代わりに文字列が表示されます。

  • UIDevice.current.localizedModel
  • UIDevice.current.model
  • UIDevice.current.name

ただし、上記のコードは使用中のデバイスを正確に示しているわけではなく、iPhoneが使用されていることを示しているだけです。正確なデバイスを使用するには、いくつかの手順を実行する必要があります。

Objective Cでは、次のように行うことができます

NSString* deviceName() {
   struct utsname systemInfo;
   uname(&systemInfo);
   return [NSString stringWithCString:systemInfo.machine, encoding:NSUTF8StringEncoding];
}

ミラー −任意のタイプのインスタンスの下部構造と表示スタイルの表現。

Swiftでは、上記のすべての用語を使用して、デバイス番号を出力として取得します。

func getDevice() -> String {
   var systemInfo = utsname()
   uname(&systemInfo)
   let machineMirror = Mirror(reflecting: systemInfo.machine)
   let identifier = machineMirror.children.reduce(“”) { identifier, element in
      guard let value = element.value as? Int8 , value != 0 else { identifier }
      identifier + String(UnicodeScalar(UInt8(value)))
   }
   return identifier
}

この関数はモデルコードを提供しますが、デバイス名は正確には提供しません。

要件に従ってモデル名を取得するには、この「識別子」変数を複数の値と比較する必要があります。

以下は、iPhone7plusシミュレーターでこのコードを実行したときの結果です。

iPhone SDKでデバイスタイプ(iPhone、iPod Touch)を判別する方法は?

Appleデバイスのモデルコードの一部とそれぞれの名前は-

です。
iPod4,1 iPod Touch 4G
iPod5,1 iPod Touch 5G
iPod7,1 iPod Touch 6G
iPhone3,1、iPhone3,2、iPhone3,3 iPhone 4
iPhone4 iPhone 4s
iPhone7,2 iPhone 6
iPhone7,1 iPhone 6 Plus
iPhone8,1 iPhone 6s
iPhone8,2 iPhone 6s Plus
iPhone8,4 iPhone SE
iPhone9,1、iPhone9,3 iPhone 7
iPhone9,2、iPhone 9,4 iPhone 7 Plus
iPad2,1、iPad2,2、iPad2,3、iPad2,4 iPad 2
iPad3,1、iPad3,2、iPad3,3 iPad 3
iPad3,4、iPad3,5、iPad3,6 iPad 4
iPad4,1、iPad4,2、iPad4,3 iPad Air
iPad5,3、iPad5,4 iPad Air 2
iPad2,5、iPad2,6、iPad2,7 iPad Mini
iPad4,4、iPad4,5、iPad4,6 iPad Mini 2
iPad4,7、iPad4,8、iPad4,9 iPad Mini 3
iPad5,1、iPad5,2 iPad Mini 4
iPad6,3、iPad6,4 iPad Pro(9.7インチ)
iPad6,7、iPad6,8 iPad Pro(12.9インチ)

  1. iPodからiPhone12/ iPhone 11に音楽を転送する方法は?

    iPodは素晴らしい音楽プレーヤーですが、徐々にアップグレードを続けるiPhoneに取って代わられています。結局のところ、iPhoneにはより多くの機能とより多くのストレージスペースがあります。 iPhoneは完璧な音楽再生デバイスであり、他の要件も満たしているため、iPodと一緒にiPhoneを使用する必要はないようです。 これで、新しいiPhone 12を入手して、iPodから新しいiPhoneに音楽を転送したい場合があります。さて、ユーザーがiPodからiPhoneに音楽を転送するのを助けることができる3つの実行可能な方法があります。手元にコンピュータがある場合は、iTunesまたはサ

  2. iPhoneを脱獄する方法

    Appleがデバイスのあらゆる側面をできることとできないことで制御することにうんざりしている場合は、iPhoneまたはiPadを脱獄することを検討できます。ジェイルブレイクは、Androidでrootを取得したり、PCで管理者になったりすることに似ています。これは昇格された特権の状態であり、通常利用可能なものからシステム設定を変更したり、Appleによって許可されていないソフトウェアをインストールしたりできます。脱獄はAppleが課すロックを回避しますが、リスクが伴います。 リスクは何ですか? Appleデバイスをジェイルブレイクしてメーカーの管理から解放することは、特にAppStore内に