1

いろいろ書かれていますが、いまだによくわかりません。

だからここで私がやっていること:私はあちこちのチュートリアルから借用したコードでCocoapodテストフレームワークを作成しました。レポ

ポッドファイル

platform :ios, '9.0'

target 'CocoaPodTestFramework' do

use_frameworks!

pod 'Alamofire'
pod 'SwiftyJSON'
end

フレームワークでは http 呼び出しが必要だったので、フレームワーク ワークスペースで Alamofire と SwitfyJSON ポッドを使用しました。ビルド プロセスが成功すると、次の 3 つのフレームワーク ファイルが得られます。

  1. CocoaPodTestFramework.framework
  2. Alamofire.framework
  3. SwiftyJSON.framework

今、それをアプリで使用したいときに、フレームワークをテストするためのテストアプリをいくつか作成しました。

  1. Swift: アプリは cocoapod (ワークスペースではない通常の Xcode プロジェクト) を使用していません。3 つのフレームワークすべてをリンクするだけで機能します。
  2. Objective-C アプリの場合、同じことを行ったところ、うまくいきました。
  3. 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部分もスキップしたいと思います)

誰でも私を助けてくれますか?

4

2 に答える 2

1

わかりました...ここで私がそれをどのように理解したかは、私のような人を助けるかもしれません...

ポッドファイル

s.dependency "Alamofire"
s.dependency "SwiftyJSON"

上記の2行で問題は解決しましたが、実際のSDKを開発して実際に機能するかどうかを確認するまで、このスレッドを閉じたくありません. :)

于 2018-01-21T10:26:06.490 に答える