4

私は何週間もこれに取り組んできました。次の macOS セットアップで Alamofire リンカ エラーが発生するのはなぜですか?

リンカ エラーを再現する手順:

  • 新しい macOS コマンド ライン アプリを作成する
  • ターミナル アップデートから pod init を実行します
  • 次のポッドファイルを作成します。

    プラットフォーム:osx、「10.10」ターゲット「testMacOS」は use_frameworks を実行します! pod 'Alamofire', '~> 4.0' end

実行しますpod install。ワークスペースを開いてビルドする

エラー: dyld: ライブラリがロードされていません: @rpath/Alamofire.framework/Versions/A/Alamofire 理由: 画像が見つかりません

この時点で、このエラーは理にかなっています。Target's / General / Linked Frameworks and Libraries に移動する必要がありました。次に、アラモファイアを追加します。これで、Alamofire はワークスペースの Framework ディレクトリ内に配置されました。

ビルドして実行します。同じエラー。なんで?

4

3 に答える 3

3

問題: Xcode 8.1 では、iOS やデスクトップ macOS アプリがバンドルで行うのと同じように、macOS コマンド ライン アプリがフレームワーク (動的ライブラリ) をサポートしていないことに気付きませんでした。

解決策: github からソース コードを取得し、ワークスペース内でコンパイルすることで、この問題を回避しました。それはうまくいきました。静的ライブラリのインポートも機能しました。

于 2016-12-06T08:58:10.960 に答える
2

コマンドライン ツールは確かにフレームワークを「サポート」しますが、アプリケーション バンドルのようにはサポートしません。@rpath 参照されているフレームワークを、実際にはどちらである~/Library/Frameworks/かに配置する必要があります/Library/Frameworks/

于 2016-12-08T18:24:26.633 に答える