iOSアプリがプログラムで電話番号を取得することはできません。
ただし、iPhoneをiExplorerアプリに接続すると、番号が表示されます。どうやってそれを手に入れますか?
技術的には、iOSアプリケーションとデスクトップ(WindowsおよびOS X)アプリケーションの両方で、特定のデバイスと通信することにより、電話番号(および、IMEI、シリアル番号などの他のデバイス固有の情報)を取得できます。 iOSのロックダウンデーモン。ロックダウンデーモン(lockdownd
)は、デバイス上で実行され、Apple独自のAPIおよびプロトコルを介してこれらの情報へのアクセスを提供するデーモンプロセスです。
これはどのように機能しますか?デスクトップアプリケーションの場合、開発者はMobileDeviceライブラリ(OS Xにデフォルトで存在し、私が知る限りWindowsにiTunesと一緒にインストールされます)にリンクし、リバースエンジニアリングヘッダーファイル(ここ)の関数を使用して取得する必要があります。そのようなデータ。参考までに、Linuxでは、libimobiledeviceを使用して同じことを実現できます。
iOSアプリの場合、アプリの開発者は、その機能を使用するために/usr/lib/liblockdownd.dylib
、対応する(リバースエンジニアリングされた)ヘッダーファイルにリンクしてインポートする必要があります。liblockdown.dylib