2

いくつかのリリースで OSX アプリのフレームワーク リファレンスをいじったことはありませんが、何らかの理由で、Apple は、リファレンスが見つからないという理由で、私の最新バージョンを拒否することにしました。彼らが私にくれた唯一の情報は次のとおりです。

The app references frameworks which are missing. This may lead to unexpected bugs or undefined behavior. The missing frameworks are

'/Applications/MyApp.app/Contents/MacOS/MyApp' links against (missing, Relative): '@rpath/libavcodec.dylib'
'/Applications/MyApp.app/Contents/MacOS/MyApp' links against (missing, Relative): '@rpath/libavformat.dylib'
'/Applications/MyApp.app/Contents/MacOS/MyApp' links against (missing, Relative): '@rpath/libavutil.dylib'

Libraries.dylib ファイルをサブパスにコピーするためのビルド フェーズがあり、アプリ パッケージの .dylib ファイルを の下に表示できるため、これは意味がありません/Contents/MacOS/Libraries

私のアプリのランタイム検索パスはに設定されていますLD_RUNPATH_SEARCH_PATHS = @rpath @rpath/Libraries @loader_path/Libraries @executable_path/../Frameworks

SDK フレームワークは 10.8 用に設定されており、デプロイ ターゲットは 10.6.8 です。

何か案は?残念ながら、Apple はこれ以上の追加情報を提供してくれません。

前もって感謝します!

4

1 に答える 1

2

Apple Developer Technical Support から得た回答は次のとおりです。

このエラーは、アプリ バンドルの /Contents/ ディレクトリ内の指定されていないサブディレクトリに dylibs がインストールされている場合に特に、実行時に @rpath 相対インストール パスを解決するレビュー ツールの制限です。ほとんどの開発者は dylib をアプリ バンドルの /Contents/Framework に配置するか、/Contents/MacOS/ フォルダーに直接配置するか、サブディレクトリを相対パスの一部として指定するため、通常、この問題に遭遇することはありません。

これらの相対インストール名パスは、http: //developer.apple.com/library/mac/#documentation/Darwin/Reference/Manpages/man1/dyld.1.htmlに記載されています。

開発者は dylib に Frameworks フォルダー (「@executable_path/../Frameworks/」インストール名パス経由) を使用することをお勧めしますが、MacOS フォルダー (「@executable_path/」または「@rpath/」経由) を使用することもできます。インストール名パス)。

注: 使用した @rpath は、「Libraries」サブディレクトリ パス「@rpath/Libraries/」が含まれていれば、レビュー ツールによって解決されます。

修正は、ffmpeg dylibs をLibrariesフォルダーからフォルダーに移動することでしたFrameworks

于 2013-06-24T03:21:14.557 に答える