

iOSであるライブラリ（フレームワーク）を開発しています。(Bとする）  
このフレームワーク中に、別のフレームワークを入れたいと思います（別のフレームワークをCとする）  
しかし、Bをビルドしてホストに入れようとしたら下記のエラーが発生していました（ホストアプリをAとする）

`dyld[932]: Library not loaded: @rpath...`

簡単に言うと `B <- C` -> `A`

いくつかのサイトを参照しましたが解決案が見つかりませんでした、Static
Libraryという実装方法があると聞いていますが、実際の実装方法は知っていません。

参照したサイト：

  * [Static library inside iOS Framework error - Apple Developer Forums](https://developer.apple.com/forums/thread/74213)
  * [Static Library vs Dynamic Library - iOSエンジニアのつぶやき](https://yamatooo.blog/entry/2020/10/03/083000)

注：取り込もうとしているフレームワークを解体して自分の作ったフレームワークに入れることも可能です、フレームワークの作者とやり取りできますので。  
ヒントでも良いですから、ご教授宜しくお願いします。

なぜフレームワークの中にフレームワークを入れるのかというと一個のフレームワークとして他人に提供したいと思っているからです。

ちなみにもらったフレームワークはbazelとかでビルドしているものでソースコードはありません。


CC BY-SA 4.0
2022-05-24T06:14:40.427
89016
2022-05-25T00:34:13.940
2022-05-25T00:34:13.940
3060
41314
question
swift ios macos objective-c framework
iOS開発でどうすればフレームワークにフレームワークを入れ込むことができますか？


直接の回答ではありませんが、`iOS`のアプリケーションは、`Framework` in `Framework`だと審査段階で弾かれるという話を聞きました。  
なので、`Framework B`が`Framework A`を内包すると審査で弾かれてしまうので、`Framework
B`の説明書きに`Framework A`もリンクする必要があると明記するのが正しい対処法だと思います。

コメントにあったフレームワークを解体して〜と言う話ですが、組み込むフレームワークのソースをプロジェクトとして入手し、そこに自分の作りたいフレームワークのソースを追加してコンパイルすれば良いと思います。逆に自分のプロジェクトにその人が作ったフレームワークのソースを組み込んでも良いです。いずれにしても、一つのフレームワークにまとめるには両方のソースが必用です。


CC BY-SA 4.0
2022-05-24T07:33:05.797
89020
2022-05-24T09:25:48.997
2022-05-24T09:25:48.997
14745
14745
89016
answer