問題タブ [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 投票する
0 に答える
508 参照

ios12 - Xcode 10 によるユニバーサル フレームワーク

FAT バイナリ フレームワークを作成するために、スキームのアーカイブのポスト アクションでこのスクリプトを使用したとき。つまり、シミュレータと実際のデバイスで動作するものです。Xcode 9.3 まで正常に動作しますが、Xcode 10 のスクリプトは動作しません。
ブログによると、Xcode 10 のユニバーサル フレームワーク サポートはありません。Xcode 10 からこれを実現する方法を教えてください。

ありがとう、

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

ios - Objective-C ユニバーサル フレームワークから Swift ユニバーサル フレームワークのクラスとメソッドを参照できない

「Utils」と呼ばれる Swift フレームワークを使用する「Box」と呼ばれる Objective-C フレームワークがあります。どちらにも、開発中に使用する標準ターゲットと、開発が完了し、ユニバーサル フレームワークを構築する必要があるときに使用するカスタム ターゲットがあります。

Xcode 10.2/swift 4 まではすべてうまく機能し、「Box」と「Utils」の両方のユニバーサル フレームワークをコンパイルして、swift で記述されたテスト アプリで使用したり、他のフレームワーク内のフレームワークとして使用したりできました。

Xcode 10.2/swift 5 に切り替えると、少なくともすべてのターゲットに対して、「Box」から「Utils」のオブジェクトとメソッドを参照できなくなりました。

「Box」標準ターゲットと実際のデバイスを使用すると、フレームワークを構築してテスト アプリで実行できます。「Box」から「Utils」オブジェクト/メソッドをポイントしてクリックできるので、それらを参照できます。

「Box」標準ターゲットとシミュレーターを使用すると、フレームワークをビルドできず、次のようなエラーが発生します。

カスタム ターゲット (ユニバーサル フレームワークのビルドに使用されるクラシック スクリプトのターゲット) を使用して "Box" ユニバーサル フレームワークをビルドしようとした場合も同様です。

そのため、Xcode 10.2 以降、不明な理由で、一部のターゲットについて、「Box」から「Utils」フレームワークを参照できなくなりました。すべてのメソッドは @objc でマークされているため、問題はありません。

何が問題なのかについて何か考えはありますか?

他に役立つ情報を追加する必要があるかどうかはわかりません...

どうもありがとう!

更新:「Utils」フレームワークをオンザフライで作成された Swift フレームワークにインポートして、テストを実行しようとしました。そしてそれはうまくいくようです。そのため、Swift の「Utils」フレームワークを Objective-C の「Box」フレームワークにインポートしようとすると問題が発生するようです。