3

プロジェクトを CocoaPods で動作させる前に、プロジェクトのターゲットはリソースを次のようなフォルダー構造にコピーしました。

Project.app/Resources/deps/javascript/*.js Project.app/Resources/deps/html/index.html

私のコードでは、次のようなリソースにアクセスしました。

NSString *javascriptDirectory = [[bundle pathForResource:@"main" 
                                                  ofType:@"js"                                                       
                                             inDirectory:@"deps/javascript"] stringByDeletingLastPathComponent];

プロジェクトの CocoaPod 仕様を作成しているときに、CocoaPods がリソースをProjectUsingCocoaPods.app/Resourcesフォルダーにダンプすることがわかりました。

プロジェクトを CocoaPods で動作させるには、コードを変更してリソースをProject.app/Resourcesフォルダーにダンプし、アクセスを使用するように変更する必要がありました。

NSString *javascriptDirectory = [[bundle pathForResource:@"main" 
                                                  ofType:@"js"] stringByDeletingLastPathComponent];

私のプロジェクトは CocoaPods 経由で使用できるようになりました。これは素晴らしいことです。

ただし、そのリソースはフォルダに不用意にダンプされResourcesますが、これは醜いため、それほど優れていません.

私の CocoaPods 仕様の関連部分:

プロジェクトに必要なリソースを指定する CocoaPods 仕様ファイルがあります。

Pod::Spec.new do |s|
  #...
  s.resource  = ['Project/Dependencies/*.js', 'Project/Dependencies/index.html']
  #...
end

私の質問は、CocoaPods がリソースをコピーするリソース サブディレクトリを指定することは可能ですか?

4

1 に答える 1

4

フォルダーをリソースとして指定すると、Pods プロジェクトでそのフォルダーへの参照が作成されるだけであることがわかりました。

s.resources  = "Project/Dependencies"

したがって、ワイルドカードはありません。Pods プロジェクトには、Dependenciesすべてのコンテンツとサブフォルダーをそのまま含むフォルダーへの参照があります。

于 2016-08-02T22:00:03.907 に答える