問題タブ [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.

0 投票する
6 に答える
39025 参照

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 ビットの両方をサポートします。

しかし、他のプロジェクトとの将来の統合のためにユニバーサルファットフレームワークをエクスポートする方法(およびこのライブラリを誰かと共有する方法)のマニュアルは見つかりませんでした。

再現するための私の手順は次のとおりです。

  1. ONLY_ACTIVE_ARCH=NOで設定Build Settings

    ここに画像の説明を入力

  2. armv7 armv7s arm64 i386 x86_64サポートを追加するArchitectures(確かに)

ここに画像の説明を入力

  1. Framework をビルドし、Finder で開きます。

ここに画像の説明を入力 ここに画像の説明を入力

  1. このフレームワークを別のプロジェクトに追加します

実結果:

しかし、最終的には、デバイスとシミュレーターでこのフレームワークを使用してプロジェクトを実行することにまだ問題があります。

  • フォルダーからフレームワークを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 の作成 - アーキテクチャの問題に関連していますが、重複していません。


アップデート:

この場合の「ダーティハック」を見つけました。以下の私の答えを見てください。誰かがもっと便利な方法を知っているなら、教えてください!

0 投票する
1 に答える
458 参照

jsonmodel - フレームワーク内にあるモデル クラスを初期化しようとすると、「プロパティ プロトコル宣言が正しくありません」

この問題を解決するために、私は 2 日間頭を悩ませてきました。

JSONModel から派生したモデル クラスを含む iOS ユニバーサル フレームワークを作成しました。例えば、

さて、この「フレームワーク」を他のプロジェクトで使用し、「XYZ」モデルクラスをディクショナリで初期化しようとすると、

「プロパティプロトコル宣言が正しくありません」と言ってクラッシュします。

フレームワークを使用せず、それらのモデル クラスをプロジェクトに直接配置すると、正常に動作します。なぜそのような有線の動作なのかわかりません。

私は 2 日間の解決策と多くの時間の無駄を探していました。この問題は github でも提起されていることがわかりますが、開発者からの回答はありません。それは非常に苛立たしく、プロジェクトのこの非常に成熟した段階で JSONModel をドロップすることはできません。非常に多くのモデル クラスと非常に複雑な構造があり、別のライブラリに切り替えることができません。

お願いします。どんな助けでも大歓迎です。前もって感謝します。

0 投票する
0 に答える
783 参照

cocoapods - CocoaPods を使用したユニバーサル (ファット) フレームワーク

「use_frameworks!」を採用すれば、CocoaPod はフレームワークの作成に役立ちます。ポッドファイルで。これらのフレームワークは ${BUILD_STYLE}-${PLATFORM_NAME} にあるため、同じフレームワークの 4 つのインスタンスがあります。

デバッグ-iphoneos

リリース-iphoneos

デバッグ-iphoneシミュレーター

リリース-iphoneシミュレーター

cocoaPods でユニバーサル フレームワークを構築するには??

0 投票する
0 に答える
71 参照

ios - Xcode - 7.3 iOS ユニバーサル フレームワークの作成

ユニバーサル アーキテクチャで構築された iOS ユニバーサル フレームワークを作成しようとしています。このリンクに従ってユニバーサル フレームワークを作成しました - https://spin.atomicobject.com/2011/12/13/building-a-universal-framework-for-ios/

これで、彼らはヘッダーを追加する方法を明確に述べましたが、関数定義をどこに保持するかについては言及しませんでした? すでに Resources ディレクトリが存在するため、すべての関数定義をそのディレクトリに配置する必要がありますか?

0 投票する
0 に答える
102 参照

objective-c - XCode派生データは、スクリプトのために再帰的に生成されています

XCodeでSwiftのユニバーサルフレームワークを作成しようとしましたが、集約フレームワークスクリプトを「ビルドフェーズ->スクリプトの実行」に適用しました。

スクリプトは再帰的に無限ループにあり、派生データを再帰的に生成しているようです。

私が望むのは、スクリプトを強制終了して、派生データが生成されないようにすることだけです。派生データをクリアして削除しましたが、再び生成され、私が持っているすべてのストレージを割り当てます。

スクリーンショットは次のとおりです。

xcode-swift-objective-c-recursion-ios-universal-framework

0 投票する
1 に答える
1439 参照

ios - Xcode 9 で iOS ユニバーサル フレームワークを作成する

iOS のユニバーサル フレームワークを作成しています。私はリポを介して作成しようとしていますが、ユニバーサルなものを作成します

作成後に lipo でアーキテクチャをチェックすると、正しい結果が返されます: ファット ファイル内のアーキテクチャ:i386 x86_64 armv7 arm64

電話とシミュレーターでアプリケーションを実行しても問題なく動作します..しかし、.ipaxcarchive からエクスポートしようとすると、次のエラーが発生します。

Myframework.framework/Myframework でビットコードを検証できませんでした:\nエラー: プラットフォーム iPhoneSimulator はサポートされていません\n\n

また、実行中のユニバーサル フレームワークでビットコード シンボルを使用することもできます

正常に動作するiphoneosフレームワークのみを選択した場合