いろいろ書かれていますが、いまだによくわかりません。
だからここで私がやっていること:私はあちこちのチュートリアルから借用したコードでCocoapodテストフレームワークを作成しました。レポ
ポッドファイル
platform :ios, '9.0'
target 'CocoaPodTestFramework' do
use_frameworks!
pod 'Alamofire'
pod 'SwiftyJSON'
end
フレームワークでは http 呼び出しが必要だったので、フレームワーク ワークスペースで Alamofire と SwitfyJSON ポッドを使用しました。ビルド プロセスが成功すると、次の 3 つのフレームワーク ファイルが得られます。
- CocoaPodTestFramework.framework
- Alamofire.framework
- SwiftyJSON.framework
今、それをアプリで使用したいときに、フレームワークをテストするためのテストアプリをいくつか作成しました。
- Swift: アプリは cocoapod (ワークスペースではない通常の Xcode プロジェクト) を使用していません。3 つのフレームワークすべてをリンクするだけで機能します。
- Objective-C アプリの場合、同じことを行ったところ、うまくいきました。
- Cocoapods を使用する別の Swift アプリで、Podfile に以下を追加しました
サンプルアプリの Podfile
platform :ios, '9.0'
target 'Cocoapod Test App' do
use_frameworks!
pod 'CocoaPodTestFramework', :path => '/Users/ABCD/Documents/Projects/TEST/CocoaPodTestFramework'
end
ここで問題が発生します。アプリをビルドしようとするたびに
no such module 'Alamofire'
、参照フレームワークとアプリで取得しますno such module 'CocoaPodTestFramework'
それ以来、さまざまな投稿/フォーラム/問題を読んでいましたが、修正方法を理解できず、アプリ Podfile にも追加しようpod 'Alamofire'
とpod 'SwiftyJSON'
しましたが、それでも同じエラーが発生しました。また、フレームワークの .podspec (s.frameworks) ファイルに「Alamofire」と「SwiftyJSON」を追加しようとしましたが、エラーが発生しました。
それで、これに対する回避策があるかどうか、またはまったく不可能かどうかを知りたいですか?
サンプルアプリのサブモジュールとしてフレームワークプロジェクトを使用する場所を読んでください。これで問題は解決しますか?はいの場合、コードを共有したくない場合、.frameworkファイルのみを共有するコードを送信せずに、他の誰かがこのポッドを使用するにはどうすればよいですか? (基本的には、共有できないソースですが、他のポッドを使用する必要があるSDKが必要です:P、その方法を検索するgithub部分もスキップしたいと思います)
誰でも私を助けてくれますか?