2012-03-06 1 views
1

XCode 4.3はiOSアプリケーションをReleaseにビルドします。

端末起動直後にアプリがクラッシュします。

cliまたはxcode 4.2.1でxcodebuildを使用してアプリケーションをビルドします。

アプリは、CoreLocation(ターゲット内)とiOS 5.xでリンクされています。CLGeocoderが使用されています。 iOS 4.xではMKReverseGeoCoderが使用されます。 (NSClassFromString() returns a class even when class should not be available

アーカイブを作成してアプリをIPAファイルとして共有する場合にのみ発生します。 iOS-Device(4.x)でアプリを起動した直後。

Dyld Error Message: Symbol not found: _OBJC_CLASS_$_CLGeocoder 
Referenced from: /var/mobile/Applications/*********/AppName.app/AppName 
Expected in: /System/Library/Frameworks/CoreLocation.framework/CoreLocation 
in /var/mobile/Applications/*********/AppName.app/AppName 
Dyld Version: 179.7 

どうすればこのエラーを取り除くことができますか?

+0

このエラーを解決する解決策はありましたか? – krunal

+0

いいえ解決策が見つかりませんでした。 Appleに報告されているバグも「オープン」です。 – x2on

+0

同じエラーが発生しました。多分、私たちはこれに対する賞金を払うべきですか、あるいは解決策を見つけましたか? – nverinaud

答えて

3

CoreLocationフレームワークをプロジェクトバンドルに追加します。

+0

CoreLocationは既にターゲットとプロジェクトバンドルにあります! – x2on

4

私もあなたがあなたの質問ににリンクされているスレッド上bllubborによって投稿ソリューションを試した後、同じエラーを受信した

if (NSClassFromString(@"CLGeocoder") && 
    [NSClassFromString(@"CLGeocoder") instancesRespondToSelector: 
@selector(reverseGeocodeLocation:completionHandler:) ]) { 

         //iOS 5 or later  
    } 

私もCoreLocationフレームワークは、ことを確認することで、それを解決することができましたターゲットのビルド設定で弱くリンクされていた(つまり、RequiredではなくOptionalに設定されていた)。