XMPPFrameworkを使用する iOS 用の静的ライブラリを作成しました。入門ガイドのすべての手順に従いましたが、フレームワークを直接使用する iOS アプリを以前に作成したことがあり、問題なく動作したため、正しく実行したと確信しています。
ただし、XMPP のものを静的ライブラリに外部委託し、それを「クライアント」iOS アプリにリンクしたいと考えました。リンク自体は正常に機能しており、ライブラリ内の単純なメソッドの呼び出しNSLog
も正常に機能します。しかし、XMPPFramework 固有のもの (ストリームの接続など) を使用するライブラリ内のメソッドを使用し始めるとすぐに、大量のリンク エラーが発生します。
アプリ プロジェクトにリンクすると、スタティック ライブラリの依存関係が何らかの形で失われますか? そこにもう一度追加する必要がありますか?面白いことに、Security.framework や CFNetwork.framework などをアプリに追加すると、静的ライブラリで行ったように、一部のエラーが消えます。また/usr/include/libxml2
、ライブラリとアプリの両方にヘッダー検索パスを含める必要がありました。
しかし、上記のリンクの下にリストされているすべての依存関係 (ソース コード ファイルを除く) を追加しても、まだ 55 のリンカー エラーが残っています (追加しない場合の 81 とは対照的です)。