0

メイン プロジェクトで、iOS MapBox SDK からユーザー ロケーション グラフィック アセットを手動でインポートする必要がありますか?

ユーザーの位置を表示しようとすると、このエラーが発生します (iOS6 の iPhone 4s で構築 — シミュレーター iOS 5.1 で同じエラーが記録されます)。

if (!self.mapView.isUserLocationVisible) {
    self.mapView.showsUserLocation = YES;
}

ログに記録された正確なエラーは次のとおりです。

[RMUserLocation initWithMapView:coordinate:andTitle:]、/Users/franco/Apps/XXXX/Application/XXXX/Vendors/mapbox-ios-sdk/MapView/Map/RMUserLocation.m:24 2012-06-13 01:41:52.426 XXXX[2058:907] *キャッチされない例外 'NSInternalInconsistencyException' が原因でアプリを終了します。理由: '必要なユーザー位置のグラフィック アセットが見つかりません (MapView/Map/Resources からのコピー)'

ご協力いただきありがとうございます。

4

2 に答える 2

1

私は SDK の開発者です。SDK は静的ライブラリとしてビルドされ、グラフィック アセットを含めることができないため、これほど簡単な解決策はありません。できることの 1 つは、アセットを参照することです。アセットをプロジェクトにコピーする必要はありません。SDK に同梱されている実際のファイルを使用します。しかしNSAssert()、開発者がユーザーの場所が表示されない理由がわからないという状況を避けるために、それを入れました。

また、Apple の MapKit のように、このisUserLocationVisibleプロパティは場所が表示されているかどうかをテストするためのものではなく、現在画面上にあるかどうかをテストするためのものであることも付け加えておく必要があります。そのため、代わりにshowsUserLocationを設定するかどうかを確認する必要がありますshowsUserLocation

于 2012-06-19T18:46:54.287 に答える
0

見つかった解決策は、アセット ファイルを MapView/Map/Resources からルート プロジェクトに追加 (コピー) することです

ヘッダー検索パス ( $(SRCROOT)/IntraMuros/Vendors/mapbox-ios-sdk に設定) により、これらのアセットが利用可能になると思いました。

おそらくこれを行うためのよりクリーンな方法があります。

アセット ファイルは MapView サブプロジェクトで利用できることに注意してください。

于 2012-06-13T13:52:06.957 に答える