2016-12-14 7 views
10

私はObjective-Cで作られたこのフレームワークに依存するフレームワーク(プライベートソース)とビュー(オープンソース)を基本的に含むココアポッドを構築しています。 podspecで 'vend_frameworks'と 'source_files'を 'use_frameworks!'を使ってココアポッドに使用する

私は次の行があります。

  • spec.vendored_frameworksの= 'MyPod /フレームワーク/ MyFramework.framework'
  • spec.source_files = [ 'MyPod/UI /ビュー/ MYVIEWを{ H、M} ']

use_frameworks!構文を使用している場合、私は#import MyFramework

できない私は何が起こっているか理解していません。

さらに、spec.source_files行を削除すると、#import MyFrameworkとすることができますが、それは完全に機能しますが、もちろんMyViewは使用できません。

私は間違っていますか?

答えて

1

use_frameworks!を使用すると、ポッド自体がフレームワークになります。したがって#import MyFrameworkの代わりに#import MyPodを入力してからMyViewを使用してください。

また、必要に応じてpublic_header_filesもご覧ください。

+0

はい、ただし、MyFrameworksクラスにアクセスするにはどうすればよいですか? – Drico

+0

あなたが言ったように、「MyFramework」は個人的です。あなたはどのようにポッドの外からそれにアクセスしたいですか? 'MyView'を公開したいだけで、これは' MyFramework'のパブリックヘッダに依存していると言いました。 (ところで、フレームワークのヘッダーを見直して、アクセスを許可するようにしてください)。 – Ricowere

+0

'MyFramework'のソースだけがプライベートです。さらに、 'use_frameworks! 'を使わないと、私はすでに問題なくアクセスしています。 – Drico

0

プロジェクトのポッドは今のフレームワークなので、あなたは@importMyFrameworkを使用してimporting it as a moduleを試みることができます。

しかし、それでも問題が解決しない場合は、プロジェクトをバックアップしてからpod deintegrate && pod installを実行してください。また、this questionは非常によく似ており、そのコメントと回答の一部が参考になる場合があります。

関連する問題