Xcode 6では、独自の Dynamic を作成できますCocoa Frameworks
。
なぜなら:
シミュレータはまだ
32-bit
ライブラリを使用しています-
2015 年 6 月 1 日以降、App Store に送信されるアプリのアップデートには、64 ビットのサポートが含まれ、iOS 8 SDK ( developer.apple.com )でビルドされている必要があります。
デバイスとシミュレータでプロジェクトを実行するには、ファット ライブラリを作成する必要があります。つまり、フレームワークで 32 ビットと 64 ビットの両方をサポートします。
しかし、他のプロジェクトとの将来の統合のためにユニバーサルファットフレームワークをエクスポートする方法(およびこのライブラリを誰かと共有する方法)のマニュアルは見つかりませんでした。
再現するための私の手順は次のとおりです。
ONLY_ACTIVE_ARCH=NO
で設定Build Settings
armv7 armv7s arm64 i386 x86_64
サポートを追加するArchitectures
(確かに)
- Framework をビルドし、Finder で開きます。
- このフレームワークを別のプロジェクトに追加します
実結果:
しかし、最終的には、デバイスとシミュレーターでこのフレームワークを使用してプロジェクトを実行することにまだ問題があります。
フォルダーからフレームワークを
Debug-iphoneos
取得すると、デバイスで動作し、シミュレーターでエラーが発生します。ld: symbol(s) not found for architecture i386
xcrun lipo -info CoreActionSheetPicker
ファット ファイルのアーキテクチャ: CoreActionSheetPicker: armv7 armv7s arm64
フォルダーからフレームワークを取得する
Debug-iphonesimulator
と、シミュレーターで動作します。デバイスにエラーがあります:ld: symbol(s) not found for architecture arm64
xcrun lipo -info CoreActionSheetPicker
ファット ファイルのアーキテクチャ: CoreActionSheetPicker: i386 x86_64
では、デバイスやシミュレーターで動作する動的フレームワークを作成するにはどうすればよいでしょうか?
この回答は、Xcode 6 iOS の Cocoa Touch Framework の作成 - アーキテクチャの問題に関連していますが、重複していません。
アップデート:
この場合の「ダーティハック」を見つけました。以下の私の答えを見てください。誰かがもっと便利な方法を知っているなら、教えてください!