0

私は比較的Macに慣れていないので、開発者をセットアップしようとしています。Cordova ベースの iOS アプリの環境。Yosemite 10.10.3を使用しています

/Applications/Xcode.app/Contents/Developer/の下にxcode 6.3.1と6.3.1用のコマンドラインツールをインストールしましたということで、コマンドラインツールでいいと思います。

ただし、xcodebuild を実行すると、コマンドが見つかりません。上記のパスを PATH 環境変数に手動で追加して、xcodebuild を表示できるようにしましたが、なぜこれが必要なのかわかりません。インストールでこれを処理する必要があると思いました。

次に、特定のスクリプト ( npm install -g ios-deploy ) で xcrun を実行すると、次のエラーが発生しました。

dyld: ライブラリがロードされていません: @rpath/libxcrun.dylib が /usr/bin/xcrun から参照されています。理由: イメージが見つかりません。

xcrun は、コマンド ライン ツールのインストール パスの下の usr/bin だけでなく、/usr/bin でも利用できることがわかります。ただし、libxcrun.dylib はインストール パスでのみ使用できます。

この動的ライブラリを /usr/lib に手動でコピーしたところ、xcrun が機能しました。

動作しているように見えましたが、疑わしいと思いましたが、そのような手動のアクションは、通常のインストール後の手順ではありませんか?

コマンド ライン インストール後に忘れたことはありますか? コピー/移動する必要がある小さなファイルがさらにある場合はどうなりますか? どこかにインストール パスを指定することはできますか?

ところで、インストール パス/usr/lib を PATH に追加しましたが、xcrun では機能せず、.dylib をコピーする必要がありました。

Xcode と CLT が以前のバージョンからアップグレードされた他の mac があり、そのような問題はありません。

4

1 に答える 1

0

さて、いくつかの試行の後、npm によって ios-deploy がインストールされました。私がしたことが好ましい解決策であるかどうかはわかりませんが、私にとっては回避策のようなものです。

まず、私が見た限りでは、以前のバージョンの CLT や Xcode からアップグレードした場合、そのような問題はありませんが、実行可能な動作はすべて同じです。

たとえば、/usr/bin/xcrun が使用され、/usr/lib には libxcrun.dylib がありませんが、@executable_path=../lib は、xcrun が ../lib の場所でライブラリを探していることを意味します。

通常、ライブラリがロードされていないというエラーが予想されますが、アップグレードされたケースでは、何らかの隠し設定が xcrun に正しいパスでライブラリを検索するように指示しました。

DYLD_LIBRARY_PATH を試してみましたが、gcc と xcrun では機能しましたが、npm install では機能しませんでした。現時点では、lib ファイルを /usr/lib にコピーすることによってのみエラーを修正できます。

さて、DEVELOPER_DIR を正しいものに設定し、xcode-select -p を表示しても、「独自のパス (/usr/bin/xcrun) から開発者ディレクトリを推測できません」という警告がまだ表示されます。

しかし、この警告は npm install -g ios-deploy に害を及ぼさないようです ...... したがって、今のところ問題なく使用できます。

というわけで謎は続きました。CLT/usr/bin/xcrun の代わりに /usr/bin/xcrun を使用する必要がある理由はまだわかりません。アップグレードされた場合に /usr/bin/xcrun が正しいライブラリを見つける方法もわかりません。ファイルであり、警告をスローしませんでした。新規インストールとアップグレードの違いは何ですか?

この回答は、マシン上ですべてを再作成せずに続行するための回避策を提供するだけです。

追加情報:

コメントに示されているように、その後、ios-sim が機能していないことがわかりました。常に例外でクラッシュするため、OS を再インストールして最初からやり直す必要がありました。問題は消えました。今覚えている唯一の違いは、前回OSとxcodeの間にMacポートをインストールしたことです。予期しないシステム変更を避けるために、OS の直後に Xcode をインストールすることをお勧めします。

于 2015-05-10T13:28:47.653 に答える