XcodeをXcode 8に更新したばかりで、プロジェクトのコードをSwift 2.3に変換しようとしています。エラーなしでXcode 8を使用して数回ビルドできました。エラーが発生しました:
ld:ファイルが見つかりません:/Users/Linus/Library/Developer/Xcode/DerivedData/MyApp-asdjeshhsetnfxbegcsbcipdreneewgr/Build/Intermediates/MyApp.build/Debug-iphonesimulator/MyApp.build/Objects-normal/x86_64/DownloadsViewController.o
clang:エラー:リンカコマンドが終了コード1で失敗しました(呼び出しを確認するには-vを使用してください)
.o
ファイルは。ただし、Swift DownloadsViewController
のファイルがあります。
ditto:ソースの実際のパスを取得できません '/Users/Linus/Library/Developer/Xcode/DerivedData/MyApp-asdjeshhsetnfxbbciegrfdpdreneewgr/Build/Intermediates/MyApp.build/Debug-iphonesimulator/MyApp.build/Objects-normal/x86_64/ MyApp-Swift.h '
コマンド/ usr/bin/dittoは終了コード1で失敗しました
このエラーは3回発生します:for MyApp.swiftdoc
、MyApp.swiftmodule
、およびMyApp-Swift.h
。
前もって感謝します!
Xcodeは魔法のようにエラー自体を修正することにしました。私のプロジェクトはエラーなしで再び実行されています。
このエラーを解決することはしませんでした。
必ず.xcworkspace
ではなく.xcodeproj
ファイルからプロジェクトを開いてください
ステップ1 =ナビゲーションメニューでプロジェクトをクリックする
ステップ2 =プロジェクトを選択
ステップ3 =ビルド設定
ステップ4 =ビットコードが「はい」よりも「いいえ」に変わる場合、ビットコードを検索可能
前の答えはどれも私の問題を解決していません。フレームワークの使用から使用しないまで、cocoapods podFileの変更によるものだと思います
フレームワークは、「ターゲット」>「一般プロパティー」>「リンクされたフレームワーク」で引き続き思い出されました。それらを削除し、他のリンカーフラグから-frameworkと対応するフレームワークも削除します(継承フラグとobjCフラグを保存)
それが役立つことを願っています
これは、実行中にアプリを削除した後に起こりました。
プロジェクトをきれいにして解決しました。
製品>クリーンまたはShift + Command + K
次のコマンドでXCodeを削除して再構築します
rm -rf ~/Library/Developer/Xcode/DerivedData/
killall Xcode 2> /dev/null
killall Instruments 2> /dev/null
killall 'iOS Simulator' 2> /dev/null
killall Simulator 2> /dev/null
killall 'Simulator (Watch)' 2> /dev/null
killall ibtoold 2> /dev/null
killall simctl 2> /dev/null
# There may be others
# Kill the service itself
Sudo killall -9 com.Apple.CoreSimulator.CoreSimulatorService
rm -rf ~/Library/*/CoreSimulator
反応するネイティブアプリの場合、テストプロジェクトのフォルダーを削除しましたinProject Navigator
およびTargets
。それは私の問題を解決しました。
ビットコードを「いいえ」にすると、この問題は解決しました。これはビルド設定にあります。
ビルドフェーズでフレームワークをインポートする場合は、プロジェクトのフォルダー内にフレームワークを配置し、ライブラリとリンクバイナリに追加してみてください。実際、私は以前にその問題をすでに経験しており、プロジェクトのフォルダー内に.frameworkを配置する必要があることがわかるまで、そのエラーに非常にイライラしています。希望が役立つ
心配しないで、プロジェクトのターゲットに移動してから、設定をビルドし、ビットコードを有効にして、YESからNOに変更してください。
Xcodeを以前のバージョン7から新しいXCode 8に変更したときにも同じ問題が発生しました。新しいXcode(8.3.3)では、コンパイラにさらに設定があります。
プロジェクトの設定を(エディター->設定の検証を使用して)新しいXcodeに更新すると、これらの新しい設定が適用され、デフォルト値YESに設定されます。この更新後、リンカーエラーが発生しました。
私のプロジェクトでは、Beyond compare(または類似の)を使用して、ファイル.pbxprojの以前のバージョンと(設定の検証後の)新しいバージョンを比較しました。
このようにして、Xcodeの新しいバージョンに追加された新しい設定を確認し、新しい設定値をNOに設定します。この更新後はすべて問題なく、リンカーエラーは表示されなくなりました。
私にとっては、ネイティブの触覚の反応に問題がありました。これは、CocoaPodsの変更だけでなく、ファイルの場所の変更も原因だと思います。削除して再インストールしました。これが誰かを助けることを願っています。
[〜#〜] update [〜#〜]
ビルドは、実行するとクラッシュするだけで成功しました。これを解決するために、GoogleService-Info.plistの[ファイル]> [プロジェクトにファイルを追加]を使用しました。
派生データとプロジェクトのクリーンアップとxcodeの再起動に加えて、プロジェクトを現在のSwift構文に再変換し、ポッドがある場合は再インストールすることも役立ちます。
プロジェクトを再変換するには、ターゲットが変換リストに表示されるように、Swift_versionビルド設定をyesに戻す必要があります。
クラスを(@interfaceを使用して)定義したが、その実装を(@implementationを使用して)提供しなかったため、同じ問題が発生しました。それは単純なクラスであったため、空の実装でも解決しました。
プロジェクトをCurrent Swift Syntax(Swift 3))に変換した後、XCode 8.2.1(バージョン8C1002)で見つかった問題。クリーニング後に再構築するだけでエラーが消えました。
ビットコードのクリーニングと無効化の手順が機能しない場合、エラーの理由は単にコード内のより複雑な構文エラーである可能性があります。
また、クラスのいずれかに「* .m」実装ファイルをインポートしているかどうかを確認してください。これにより、同じ問題が発生する可能性があります。
インポート文を削除すると、問題を修正できます
Xcodeのワークスペース設定に次の変更があることを確認してください。
ワークスペース設定に移動して、次の変更を行ってください。
ワークスペース設定:ビルドシステム:レガシービルドシステム
ユーザーごとのワークスペースDerivedData:ワークスペースの相対的な場所ビルドシステムユーザー設定の使用
それが役に立てば幸い: