2

私のアプリはエラーや警告なしでビルドされ、Xcode 7.2.1 で正常に動作します。しかし、アーカイブして Xcode の外部で開こうとすると、アイコンが一瞬点滅し、次のエラーが発生します。

Application Specific Information:
dyld: launch, loading dependent libraries

Dyld Error Message:
  Library not loaded: @rpath/ORSSerial.framework/Versions/A/ORSSerial
  Referenced from: /Users/USER/Desktop/*/Ascel AE20125 Controller.app/Contents/MacOS/Ascel AE20125 Controller
  Reason: image not found

Binary Images:
    0x7fff626f2000 -     0x7fff62729007  dyld (360.19) <9D05FDF4-65CE-3B53-86D4-ABE1A5BF35F3> /usr/lib/dyld
    0x7fff962e5000 -     0x7fff962e5fff  com.apple.Cocoa (6.11 - 22) <0A634D46-B468-3CBC-B2A0-16C381C11BF2> /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa
    0x7fff9c462000 -     0x7fff9c7b6ff7  com.apple.Foundation (6.9 - 1256.1) <66106CC9-9D97-3846-88D8-4BF6BB508296> /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation

Xcode の外部で動作するようにアプリをコンパイルするにはどうすればよいですか? この問題は、コンパイル済みの .app を XCODE 環境なしで開こうとすると発生します。

アプリはSwiftを使用して作成されています。

4

2 に答える 2

1

@NickolayOlshevsky の回答を少し拡張するには、ORSSerial.framework がアプリの内部 Frameworks フォルダーにコピーされていることを確認する必要があります。プロジェクトのビルド段階で、ORSSerial.framework をターゲットの Frameworks フォルダーにコピーする段階 (Embed Frameworks など) があることを確認する必要があります。

埋め込みフレームワークのビルド フェーズ

これを構成する別の方法は、フレームワークをターゲット設定の [一般] タブの [埋め込みバイナリ] セクションに追加することです。

ここに画像の説明を入力

ORSSerialPort に付属の PacketParsingDemo または RequestResponseDemo サンプル プロジェクトを開くと、これらのプロジェクトでこの設定が正しく構成されていることがわかります。

于 2016-02-22T17:29:11.903 に答える
0

ほとんどの場合、ライブラリをデバッグ構成用の出力バンドルにのみコピーし、リリース用にそれを欠いています。プロジェクト/ターゲットの設定を確認してください。

于 2016-02-22T16:47:53.320 に答える