web-dev-qa-db-ja.com

Apple Mach-O Linker&Ditto Error-Xcode 8

XcodeをXcode 8に更新したばかりで、プロジェクトのコードをSwift 2.3に変換しようとしています。エラーなしでXcode 8を使用して数回ビルドできました。エラーが発生しました:

エラー#1:Apple Mach-O Linker Error:Linker command failed with exit code 1

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のファイルがあります。

エラー#2:Dittoエラー:コマンド/ usr/cin/dittoが終了コード1で失敗しました

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.swiftdocMyApp.swiftmodule、およびMyApp-Swift.h

前もって感謝します!

17
LinusGeffarth

更新

Xcodeは魔法のようにエラー自体を修正することにしました。私のプロジェクトはエラーなしで再び実行されています。
このエラーを解決することはしませんでした。

5
LinusGeffarth
  1. Xcodeを終了
  2. システムを再起動します
  3. Xcode-> Preferencesを選択します。
    これにより、ポップアップウィンドウが開きます。 [場所]を選択します。ロケーションには、「派生データ」が表示されます。パスのすぐ横にある矢印アイコンをクリックします。
    これにより、「派生データ」を含むフォルダーが開き、削除されます。
  4. 製品のクリーニングと実行
41
RakeshDipuna

必ず.xcworkspaceではなく.xcodeprojファイルからプロジェクトを開いてください

27
Agu Dondo

ステップ1 =ナビゲーションメニューでプロジェクトをクリックする

ステップ2 =プロジェクトを選択

ステップ3 =ビルド設定

ステップ4 =ビットコードが「はい」よりも「いいえ」に変わる場合、ビットコードを検索可能

17
Parth Changela

前の答えはどれも私の問題を解決していません。フレームワークの使用から使用しないまで、cocoapods podFileの変更によるものだと思います

フレームワークは、「ターゲット」>「一般プロパティー」>「リンクされたフレームワーク」で引き続き思い出されました。それらを削除し、他のリンカーフラグから-frameworkと対応するフレームワークも削除します(継承フラグとobjCフラグを保存)

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

11

これは、実行中にアプリを削除した後に起こりました。

プロジェクトをきれいにして解決しました。

製品>クリーンまたはShift + Command + K

5
Carlos Linares

これは、ある時点でプロジェクトファイルがコンパイルされなかったためです。私の場合、AppDelegate.Swiftはコンパイラにありませんでした。だから私は手動でそれを追加し、それが働いた。

enter image description here

4
Ewerson

次のコマンドで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
1
Shijing Lv

反応するネイティブアプリの場合、テストプロジェクトのフォルダーを削除しましたinProject NavigatorおよびTargets。それは私の問題を解決しました。

1
Asim Olmez

ビットコードを「いいえ」にすると、この問題は解決しました。これはビルド設定にあります。

1
PiKa

ビルドフェーズでフレームワークをインポートする場合は、プロジェクトのフォルダー内にフレームワークを配置し、ライブラリとリンクバイナリに追加してみてください。実際、私は以前にその問題をすでに経験しており、プロジェクトのフォルダー内に.frameworkを配置する必要があることがわかるまで、そのエラーに非常にイライラしています。希望が役立つ

1
vidalbenjoe

心配しないで、プロジェクトのターゲットに移動してから、設定をビルドし、ビットコードを有効にして、YESからNOに変更してください。

1
Sandip Mahajan

Xcodeを以前のバージョン7から新しいXCode 8に変更したときにも同じ問題が発生しました。新しいXcode(8.3.3)では、コンパイラにさらに設定があります。

プロジェクトの設定を(エディター->設定の検証を使用して)新しいXcodeに更新すると、これらの新しい設定が適用され、デフォルト値YESに設定されます。この更新後、リンカーエラーが発生しました。

私のプロジェクトでは、Beyond compare(または類似の)を使用して、ファイル.pbxprojの以前のバージョンと(設定の検証後の)新しいバージョンを比較しました。

このようにして、Xcodeの新しいバージョンに追加された新しい設定を確認し、新しい設定値をNOに設定します。この更新後はすべて問題なく、リンカーエラーは表示されなくなりました。

1
Lorenzo

私にとっては、ネイティブの触覚の反応に問題がありました。これは、CocoaPodsの変更だけでなく、ファイルの場所の変更も原因だと思います。削除して再インストールしました。これが誰かを助けることを願っています。

[〜#〜] update [〜#〜]

ビルドは、実行するとクラッシュするだけで成功しました。これを解決するために、GoogleService-Info.plistの[ファイル]> [プロジェクトにファイルを追加]を使用しました。

0
JeremyF

派生データとプロジェクトのクリーンアップとxcodeの再起動に加えて、プロジェクトを現在のSwift構文に再変換し、ポッドがある場合は再インストールすることも役立ちます。

プロジェクトを再変換するには、ターゲットが変換リストに表示されるように、Swift_versionビルド設定をyesに戻す必要があります。

0

クラスを(@interfaceを使用して)定義したが、その実装を(@implementationを使用して)提供しなかったため、同じ問題が発生しました。それは単純なクラスであったため、空の実装でも解決しました。

0
CSawy

プロジェクトをCurrent Swift Syntax(Swift 3))に変換した後、XCode 8.2.1(バージョン8C1002)で見つかった問題。クリーニング後に再構築するだけでエラーが消えました。

0

ビットコードのクリーニングと無効化の手順が機能しない場合、エラーの理由は単にコード内のより複雑な構文エラーである可能性があります。

0
Rainer Niemann

また、クラスのいずれかに「* .m」実装ファイルをインポートしているかどうかを確認してください。これにより、同じ問題が発生する可能性があります。

インポート文を削除すると、問題を修正できます

0
CaptainBluMagic

Xcodeのワークスペース設定に次の変更があることを確認してください。

ワークスペース設定に移動して、次の変更を行ってください。

ワークスペース設定:ビルドシステム:レガシービルドシステム

ユーザーごとのワークスペースDerivedData:ワークスペースの相対的な場所ビルドシステムユーザー設定の使用

それが役に立てば幸い:

0
Andy Rubin