Xcode 6では、独自のDynamicを作成することができますCocoa Frameworks
。
のため:
シミュレータはまだ
32-bit
ライブラリを使用しています-
2015年6月1日以降、App Storeに送信されるアプリの更新には64ビットのサポートが含まれ、iOS 8 SDK(developer.apple.com)でビルドされている必要があります
デバイスとシミュレータでプロジェクトを実行するには、ファットライブラリを作成する必要があります。つまり、フレームワークで32ビットと64ビットの両方をサポートします。
しかし、他のプロジェクトとの将来の統合のためにUniversal Fat Framework をエクスポートする方法(およびこのライブラリを誰かと共有する方法)のマニュアルは見つかりませんでした。
これが私の再現手順です:
設定する
ONLY_ACTIVE_ARCH=NO
にはBuild Settings
(確かに)サポート
armv7 armv7s arm64 i386 x86_64
を追加するArchitectures
- フレームワークをビルドし、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の作成-アーキテクチャの問題ですが、重複していません。
更新:
この場合、「ダーティーハック」を見つけました。以下の私の答えを参照してください。誰かがもっと便利な方法を知っているなら、教えてください!