2013-10-09 11 views
6

いくつかのアプリケーションを作成しています。それは単に次のエラーで不平を言う。testflightライブラリに変更はありません。Xcode 5では "ld:-TestFlightのライブラリが見つかりません"というメッセージが表示されます。

Ld build/Debug-iphonesimulator/appname.app/appname normal i386 
cd /Users/myname/proyectos/appname/dev/iOS/appname 
setenv IPHONEOS_DEPLOYMENT_TARGET 5.1 
setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" 
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk -L/Users/myname/proyectos/appname/dev/iOS/appname/build/Debug-iphonesimulator -L\"/Users/myname/proyectos/appname/dev/iOS/appname/appname/External/FlurryAnalytics\" -L\"/Users/myname/proyectos/appname/dev/iOS/appname/appname/External/SmartADServer\" -L\"/Users/myname/proyectos/appname/dev/iOS/appname/appname/External/TestFlight\" -F/Users/myname/proyectos/appname/dev/iOS/appname/build/Debug-iphonesimulator -F/Users/myname/proyectos/appname/dev/iOS/appname/appname/External -filelist /Users/myname/proyectos/appname/dev/iOS/appname/build/appname.build/Debug-iphonesimulator/Appname.build/Objects-normal/i386/appname.LinkFileList -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min=5.1 -weak_framework AdSupport -framework Security -framework MessageUI -framework Twitter -framework CoreLocation -weak_framework CoreMotion -framework AudioToolbox -framework AVFoundation -framework MediaPlayer -framework SystemConfiguration -framework MobileCoreServices -lz -framework CFNetwork -framework QuartzCore -framework UIKit -framework Foundation -framework CoreGraphics -lTestFlight -framework comScore -lFlurry -Xlinker -dependency_info -Xlinker /Users/myname/proyectos/appname/dev/iOS/appname/build/appname.build/Debug-iphonesimulator/Appname.build/Objects-normal/i386/appname_dependency_info.dat -o /Users/myname/proyectos/appname/dev/iOS/appname/build/Debug-iphonesimulator/appname.app/appname 

ld: warning: directory not found for option '-L"/Users/myname/proyectos/appname/dev/iOS/appname/appname/External/FlurryAnalytics"' 
ld: warning: directory not found for option '-L"/Users/myname/proyectos/appname/dev/iOS/appname/appname/External/SmartADServer"' 
ld: warning: directory not found for option '-L"/Users/myname/proyectos/appname/dev/iOS/appname/appname/External/TestFlight"' 
ld: library not found for -lTestFlight 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

私がそれを理解できれば、それはtestflightに関する文句ですが、何週間も何も変更していません。それは完全にそれを集めた。

私はAdobe ADMS追跡ライブラリをプロジェクトに追加しようとしましたが(追加は取り消しています)その後、リンカのエラーが表示されます。

ヒント?私は失われていて完全に挫折しています。私のプロジェクトファイルはおそらく破損していますか? (そうしようとしません!)そのような場合にそれらを回復するための希望はありますか?

挨拶

答えて

9

"問題が解決しました"。

どうやら私の解決策は何だった私のプロジェクトパス/ライブラリ/ヘッダどこ何とか壊れXcodeの5

内部のこと(ahwulfが言ったように、と私は疑いがある)見えましたか?さらにテストを重ねた結果、明らかに矛盾するライブラリ(testflight、flurryなど)をプロジェクトから(物理的にはディスクから)削除し、コンパイルを開始して明らかなコンパイルエラーを待っていました。

XCodeが追加したファイル(一度に1つのファイル/ライブラリ)を1つずつ追加したところ、これらのエラーはすべて徐々に消えていきました。 私のオリジナルのリンクエラーALSOが消えてしまったので、私のプロジェクトは再びビルドされます。

私は自分のしたことを本当に知っていないと感じましたが、 "それは働いていました"。

+4

Xcodeのやり方はしばしば不思議です:-) – ahwulf

+0

これは、.pbxprojファイル(私はGitを使用しました)に加えられた変更の差分を表示するのが簡単な方法です。私は、Xcodeが間違って行った変更を破棄し、新しいパスが必要な新しいパスに手動で追加しました。 – Stunner

+0

私は自分が何をしたのか分かりませんが、うまくいきました。 – Ramsel

0

XCodeの5それは自然にビルド設定で余分な絶対パスを追加し、バグを持っているように見えます。私はすでに数回噛まれています。

+0

推奨ソリューションは何ですか?ビルド設定 - >ライブラリ/ヘッダーに余分な(または奇妙な)パスはありません。 BTW:このエラーは、XCode 4.6から5.0に変更されたためではなく、突然表示されました。私はこのプロジェクトを最後の数週間問題なく構築するためにXCodeを使用してきました。 – Isaac

+0

ビルド設定のライブラリパスセクションを見て、その行をダブルクリックします。私の場合、XCodeは変数に基づいていない余分な行を追加します。無作為に起こったように見えましたが、私は理由を知らない。アップグレードの問題ではありませんでした。 – ahwulf

+0

まあ、私はそれらの設定セクションに余分な行を気付かなかった。私は明らかに矛盾しているライブラリをアンインストールしてから、再インストールしました。とにかく感謝しています。 – Isaac

0

私は全く異なる理由で同じエラーが発生しました。

TestFlight 1.2.4からTestFlight 2.0.2にアップグレードすると、ビルドは自分のマシンで動作しましたが、別のマシンの夜間ビルドに失敗しました。

ライブラリが見つからなかった単純な理由は、コミットされていないということでした。私たちの.gitignoreは.aファイルを無視するように設定されているので、libTestFlight.aは含まれていませんでした。 Xcodeでプロジェクトを開くと、これはコマンドラインビルドログより明らかです。

git add -fこれをソートしました。

0

TestFlight 2.0.2を追加することでまったく同じ問題に直面しました。また、それはFlurry(および他のもの)と対立していた。 TestFlightを使ってすべての競合するライブラリを削除(参照!)して再追加すると、最後に私は助けになりました。しかし、最初にライブラリ検索パスを削除することを忘れないでください。

1

この状況で私がうまくいきましたのは、ビルドフェーズの[ライブラリでリンクバイナリ]セクションから 'libTestFlight.a'を削除し、プロジェクトをクリーンアップしてから、ファイルツリーからこのセクションに再描画することでした。 (もちろん、あなたのアプリでTestflightを使いたいのであれば、libzも持っていることを確認してください。dylibをフレームワークとして使用し、関連するTestFlightファイルもTestFlight.h、TeshFlight + AsyncLogging.h、TestFlight + ManualSession.hなどのプロジェクトに含まれています - もしlibz.dylibが削除されて読み込まれた場合、このエラーが発生する可能性があります)。幸運のコードの戦士!

+0

これは私のために働いた - ありがとう! –

関連する問題