私はxcode4を使用し、openglESプロジェクトで、チュートリアルからアプリ内購入用のコードを追加しました: http://www.raywenderlich.com/2797/introduction-to-in-app-purchases
systemConfiguration.frameworkを追加しましたが、このエラーが発生します。
Ld /Users/Eros/Library/Developer/Xcode/DerivedData/blatest-acmdklrqungznggpjewgxuxqsvwo/Build/Products/Debug-iphonesimulator/blatest.app/blatest normal i386
cd /Users/Eros/Desktop/blatestDB
setenv MACOSX_DEPLOYMENT_TARGET 10.6
setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 -Arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk -L/Users/Eros/Library/Developer/Xcode/DerivedData/blatest-acmdklrqungznggpjewgxuxqsvwo/Build/Products/Debug-iphonesimulator -F/Users/Eros/Library/Developer/Xcode/DerivedData/blatest-acmdklrqungznggpjewgxuxqsvwo/Build/Products/Debug-iphonesimulator -F/Users/Eros/Desktop/blatestDB -filelist /Users/Eros/Library/Developer/Xcode/DerivedData/blatest-acmdklrqungznggpjewgxuxqsvwo/Build/Intermediates/blatest.build/Debug-iphonesimulator/SLQTSOR.build/Objects-normal/i386/blatest.LinkFileList -mmacosx-version-min=10.6 -Xlinker -objc_abi_version -Xlinker 2 -framework Foundation -framework UIKit -framework OpenGLES -framework QuartzCore -framework AVFoundation -framework AudioToolbox -framework CoreAudio -framework CoreGraphics -framework OpenAL -lz -framework MediaPlayer -framework AVFoundation -framework GameKit -framework StoreKit -o /Users/Eros/Library/Developer/Xcode/DerivedData/blatest-acmdklrqungznggpjewgxuxqsvwo/Build/Products/Debug-iphonesimulator/blatest.app/blatest
Undefined symbols for architecture i386:
"_SCNetworkReachabilitySetCallback", referenced from:
-[Reachability startNotifier] in Reachability.o
"_SCNetworkReachabilityScheduleWithRunLoop", referenced from:
-[Reachability startNotifier] in Reachability.o
"_SCNetworkReachabilityUnscheduleFromRunLoop", referenced from:
-[Reachability stopNotifier] in Reachability.o
"_SCNetworkReachabilityGetFlags", referenced from:
-[Reachability currentReachabilityStatus] in Reachability.o
-[Reachability connectionRequired] in Reachability.o
"_SCNetworkReachabilityCreateWithName", referenced from:
+[Reachability reachabilityWithHostName:] in Reachability.o
"_SCNetworkReachabilityCreateWithAddress", referenced from:
+[Reachability reachabilityWithAddress:] in Reachability.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status
フレームワーク参照を削除すると、エラーは同じです。再度追加しても何も起こりません... -Xlinker 2で-framework Foundation -framework UIKit [...]「-framework SystemConfiguration」が正しく表示されますか?なぜないの?誰もがアイデアを持っていますか?
プロジェクトからフレームワークをプルアップする->ビルドフェーズ->ライブラリとバイナリをリンクする
Ld /Users/Eros/Library/Developer/Xcode/DerivedData/blatest-acmdklrqungznggpjewgxuxqsvwo/Build/Products/Debug-iphonesimulator/blatest.app/blatest normal i386
cd /Users/Eros/Desktop/blatestDB
setenv MACOSX_DEPLOYMENT_TARGET 10.6
setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 -Arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk -L/Users/Eros/Library/Developer/Xcode/DerivedData/blatest-acmdklrqungznggpjewgxuxqsvwo/Build/Products/Debug-iphonesimulator -F/Users/Eros/Library/Developer/Xcode/DerivedData/blatest-acmdklrqungznggpjewgxuxqsvwo/Build/Products/Debug-iphonesimulator -F/Users/Eros/Desktop/blatestDB -filelist /Users/Eros/Library/Developer/Xcode/DerivedData/blatest-acmdklrqungznggpjewgxuxqsvwo/Build/Intermediates/blatest.build/Debug-iphonesimulator/SLQTSOR.build/Objects-normal/i386/blatest.LinkFileList -mmacosx-version-min=10.6 -Xlinker -objc_abi_version -Xlinker 2 -framework SystemConfiguration -framework Foundation -framework UIKit -framework OpenGLES -framework QuartzCore -framework AVFoundation -framework AudioToolbox -framework CoreAudio -framework CoreGraphics -framework OpenAL -lz -framework MediaPlayer -framework AVFoundation -framework GameKit -framework StoreKit -o /Users/Eros/Library/Developer/Xcode/DerivedData/blatest-acmdklrqungznggpjewgxuxqsvwo/Build/Products/Debug-iphonesimulator/blatest.app/blatest
ld: warning: ignoring file /Users/Eros/Desktop/blatestDB/SystemConfiguration.framework/SystemConfiguration, missing required architecture i386 in file
Undefined symbols for architecture i386:
"_SCNetworkReachabilitySetCallback", referenced from:
-[Reachability startNotifier] in Reachability.o
"_SCNetworkReachabilityScheduleWithRunLoop", referenced from:
-[Reachability startNotifier] in Reachability.o
"_SCNetworkReachabilityUnscheduleFromRunLoop", referenced from:
-[Reachability stopNotifier] in Reachability.o
"_SCNetworkReachabilityGetFlags", referenced from:
-[Reachability currentReachabilityStatus] in Reachability.o
-[Reachability connectionRequired] in Reachability.o
"_SCNetworkReachabilityCreateWithName", referenced from:
+[Reachability reachabilityWithHostName:] in Reachability.o
"_SCNetworkReachabilityCreateWithAddress", referenced from:
+[Reachability reachabilityWithAddress:] in Reachability.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status
SystemConfigurationがありますが、エラーはまだあります...それは何ですか?ありがとう
それを見つけた! SystemConfiguration.frameworkをプロジェクトフォルダーにコピーしました(xcodeから追加するときにチェックボックスをオンにします)。私のプロジェクトでそのフォルダを削除すると、今ではうまくコンパイルされます
ビルドフェーズからSystemConfiguration.framework
を追加すると、プロジェクトがうまくコンパイルされます...
楽しむ...!
私も同じ問題を抱えていました。いくつかのフレームワークをドラッグアンドドロップで直接追加しました。
それを解決するために、それらをすべて削除し、メニューターゲット>ビルドフェーズで追加し、さらにライブラリとバイナリをリンクで必要なすべてのフレームワークを追加しました。
この後、コードは再び正常に動作するはずです。
簡単です。
scnetworkreachability
コールバックは未定義のシンボルとしてラベル付けされ、ライブラリまたはフレームワークファイルが欠落していることを意味します
プレフィックスscはシステム構成を意味します
プロジェクト名をクリックして、右側のSummaryを選択します
バイナリとフレームワークをリンクするをクリックします
プラス記号をクリックすると、frameworksおよびlibariesのコレクションが表示され、ドリルダウンが表示されますsystemConfigurationframeworkと呼ばれるものがあるかどうかを確認します
それを選択して[OK]を押します
buildおよびrunで問題は解決しました
上記のように、次の3つのフレームワークをインポートすると、動作します!
CFNetwork.framework
Security.framework
SystemConfiguration.framework
どうもありがとう!
AFNetworkingを使用していたときに、これらのエラーが発生した後、3つのフレームワークをインポートしました
CFNetwork.framework
Security.framework
SystemConfiguration.framework
すべてのエラーがなくなります。お楽しみください!!!
リポジトリから更新した後、同じ問題が発生しました。
私のために働いた解決策は、すべてのクラスのプロジェクトから参照を削除し、それらを再度追加することでした。問題は、レポ同期を台無しにする大きな可能性があることです。
私もこれに似た問題を抱えていることを指摘したいと思います。
いくつかのファイルをxcodeにコピーしましたが、プロジェクトの代わりに誤って「ProjectTests」が選択されていました。ファイルを削除してプロジェクトに再追加するだけで、メインプロジェクト(ユニットテストではない)が選択されていることを確認します。