問題タブ [ios-universal-framework]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - "fat" Cocoa Touch Framework (シミュレーターおよびデバイス用) をエクスポートするには?
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
ファット ファイルのアーキテクチャ: CoreActionSheetPicker: armv7 armv7s arm64
フォルダーからフレームワークを取得する
Debug-iphonesimulator
と、シミュレーターで動作します。デバイスにエラーがあります:ld: symbol(s) not found for architecture arm64
ファット ファイルのアーキテクチャ: CoreActionSheetPicker: i386 x86_64
では、デバイスやシミュレーターで動作する動的フレームワークを作成するにはどうすればよいでしょうか?
この回答は、Xcode 6 iOS の Cocoa Touch Framework の作成 - アーキテクチャの問題に関連していますが、重複していません。
アップデート:
この場合の「ダーティハック」を見つけました。以下の私の答えを見てください。誰かがもっと便利な方法を知っているなら、教えてください!
jsonmodel - フレームワーク内にあるモデル クラスを初期化しようとすると、「プロパティ プロトコル宣言が正しくありません」
この問題を解決するために、私は 2 日間頭を悩ませてきました。
JSONModel から派生したモデル クラスを含む iOS ユニバーサル フレームワークを作成しました。例えば、
さて、この「フレームワーク」を他のプロジェクトで使用し、「XYZ」モデルクラスをディクショナリで初期化しようとすると、
「プロパティプロトコル宣言が正しくありません」と言ってクラッシュします。
フレームワークを使用せず、それらのモデル クラスをプロジェクトに直接配置すると、正常に動作します。なぜそのような有線の動作なのかわかりません。
私は 2 日間の解決策と多くの時間の無駄を探していました。この問題は github でも提起されていることがわかりますが、開発者からの回答はありません。それは非常に苛立たしく、プロジェクトのこの非常に成熟した段階で JSONModel をドロップすることはできません。非常に多くのモデル クラスと非常に複雑な構造があり、別のライブラリに切り替えることができません。
お願いします。どんな助けでも大歓迎です。前もって感謝します。
cocoapods - CocoaPods を使用したユニバーサル (ファット) フレームワーク
「use_frameworks!」を採用すれば、CocoaPod はフレームワークの作成に役立ちます。ポッドファイルで。これらのフレームワークは ${BUILD_STYLE}-${PLATFORM_NAME} にあるため、同じフレームワークの 4 つのインスタンスがあります。
デバッグ-iphoneos
リリース-iphoneos
デバッグ-iphoneシミュレーター
リリース-iphoneシミュレーター
cocoaPods でユニバーサル フレームワークを構築するには??
ios - Xcode - 7.3 iOS ユニバーサル フレームワークの作成
ユニバーサル アーキテクチャで構築された iOS ユニバーサル フレームワークを作成しようとしています。このリンクに従ってユニバーサル フレームワークを作成しました - https://spin.atomicobject.com/2011/12/13/building-a-universal-framework-for-ios/
これで、彼らはヘッダーを追加する方法を明確に述べましたが、関数定義をどこに保持するかについては言及しませんでした? すでに Resources ディレクトリが存在するため、すべての関数定義をそのディレクトリに配置する必要がありますか?
objective-c - XCode派生データは、スクリプトのために再帰的に生成されています
XCodeでSwiftのユニバーサルフレームワークを作成しようとしましたが、集約フレームワークスクリプトを「ビルドフェーズ->スクリプトの実行」に適用しました。
スクリプトは再帰的に無限ループにあり、派生データを再帰的に生成しているようです。
私が望むのは、スクリプトを強制終了して、派生データが生成されないようにすることだけです。派生データをクリアして削除しましたが、再び生成され、私が持っているすべてのストレージを割り当てます。
スクリーンショットは次のとおりです。
ios - Xcode 9 で iOS ユニバーサル フレームワークを作成する
iOS のユニバーサル フレームワークを作成しています。私はリポを介して作成しようとしていますが、ユニバーサルなものを作成します
作成後に lipo でアーキテクチャをチェックすると、正しい結果が返されます: ファット ファイル内のアーキテクチャ:i386 x86_64 armv7 arm64
電話とシミュレーターでアプリケーションを実行しても問題なく動作します..しかし、.ipa
xcarchive からエクスポートしようとすると、次のエラーが発生します。
Myframework.framework/Myframework でビットコードを検証できませんでした:\nエラー: プラットフォーム iPhoneSimulator はサポートされていません\n\n
また、実行中のユニバーサル フレームワークでビットコード シンボルを使用することもできます
正常に動作するiphoneosフレームワークのみを選択した場合