0

iBeacon Receiver サンプルを実行しようとしています。このコードは、デバイスが領域に入って領域から出ることを検出することになっています。iBeacon 領域は、別の iOS デバイスで実行されている送信機によって作成されます。

レシーバー コードは、私が持っているデバイスの 1 つ (iOS 7.0.1) で完全に動作します。領域への出入りを検出しています。しかし、iOS 7.1 [iPad Air] と iOS 8.0 [iPad Mini] を搭載した他のいくつかのデバイスでは、同じコードが機能しません。

これらのハードウェアは Bluetooth LE をサポートしていると思います。

デバイスの一部の構成が失われますか? 私はそれを追跡することができません。提案していただけますか?

4

2 に答える 2

0

AFA iOS 8 では、アクセス許可を要求するときは、アプリが特定のアクセス許可の種類を要求している理由を説明する新しい info.plist エントリを必ず追加してください。

http://nevan.net/2014/09/core-location-manager-changes-in-ios-8/を参照してください(これは SO 経由でリンクされています: iOS: アプリのインストール中にアプリがユーザーの許可を求めていません。毎回 - Objective-c & Swift ) 詳細については。

「plist エントリがない」状態にあることを示す 1 つの症状として、[設定] で位置情報サービスのアクセス許可を確認すると、アクセス許可を手動で [常に] に設定できるが、アプリを実行すると、 、選択がクリアされます (つまり、位置情報サービスに対するそのアプリの許可に関する選択はありません)。

于 2014-12-27T21:39:55.137 に答える
0

iOS 7 で動作するビーコン アプリは、位置情報のアクセス許可を要求していない場合、iOS 8 用にビルドされたときにビーコンの検出にサイレントに失敗します。詳細はこちらをご覧ください:

iOS 8 でビーコンが検出されない

これは、あなたが言及したコードがiOS 7.1で動作しない理由を説明していないため、おそらくそのデバイスにはハードウェアの問題があります(Bluetoothがオフになっているか、Bluetooth LEがサポートされていません)。Bluetooth LEをサポートする最初のiOSデバイスはiPhone 4Sなので、4以前のデバイスです。ビーコンを検出できません。

于 2014-12-27T18:07:52.660 に答える