0

フォワード ジオコーディングに CLGeoCoder を使用しています。OS > 5.0 のデバイスでは問題なく動作します。しかし、アプリがクラッシュするのは、OS が 5.0 未満のデバイスです。CLGeoCoder は 5.0 で導入されたので、以下のように条件を追加しました。

Class clGeoCoderClass = NSClassFromString(@"CLGeocoder");
if (clGeoCoderClass != nil) {
  //Use CLGeoCoder.
}

I'm getting a crash in devices under OS < 5.0 and crash log shows.
<Notice>: dyld: Symbol not found: _OBJC_CL
<Notice>: ASS_$_CLGeocoder.

How to handle this crash issues and 
4

2 に答える 2

2

CLGeoCoder は、iOS 5.0 より前の iOS では使用できません。本当に iOS 5.0 未満を使用したい場合は、以前のジオコーダーである MKReverseGeocoder があります。ただし、代わりに iOS 5.0 以降のバージョンに切り替えて、CLGeocoder を使用することをお勧めします。ジオコーディング ガイドGeocoding Locationへの参照を次に示します。

それが役立つことを願っています!

于 2012-09-05T23:43:56.873 に答える
1

たくさんのプライベート クラスがありNSClassFromString、その特定のクラスのチェックが不十分であることに問題があると思います。結果が 5.0 未満の iO で肯定的かどうかを確認し、その場合は追加の条件を見つける必要があります。iOS 5 パブリック インターフェイス用に特別に開発された可能性が最も高いため、古いフレームワークでは使用できない最新のメソッドを調べます。

于 2012-09-06T00:21:37.613 に答える