2016-04-01 9 views
7

私はフレームワーク:Library.frameworkとして提供されているサードパーティライブラリを使用しています。どうやら、私のSwiftプロジェクトでは、ブリッジヘッダを使って#import <Library/Library.h>を使ってしか使用できません。ほとんどの場合、これは問題ありません。モジュールなしのフレームワークをポッドに埋め込む

しかし、私は現在、Library.frameworkを使用したいポッドを開発中です。つまり、私はブリッジヘッダーに頼ることができません。

私のPodターゲット(General > Linked Frameworks and Libraries参照)にLibrary.frameworkをリンクしようとしましたが、Podがアプリケーションにインストールされた後、ライブラリの一部のファイルが見つからないため、PodがコンパイルできないとXcodeが言います。

ここで採用する最良の戦略は何ですか?

+0

あなたのスキームを編集しようとしましたか?ビルドセクションでは、ビルドパラレルのチェックを外すとターゲットがコンパイルされる順序を選択できます – Max

+0

あなたの答えはありがたいですが、いくつか質問があります。 – aimak

+0

Product> Scheme> Edit Scheme> Buildを選択します。次に、 "並列化ビルド"のチェックを外して、ターゲットを並べ替えることができます。 – Max

答えて

2

私はそれを作ったと思います。

トリックは、.hファイルをPod.podspecのsource_filespublic_header_filesの両方に追加することでした。このよう

s.source_files = 'Library.framework/Headers/*.h' 
s.public_header_files = 'Library.framework/Headers/*.h' 

この方法で、すべてのヘッダファイルはPod-umbrella.hに表示され、今私のアプリで使用することができます。

1

あなたのPodプロジェクトでは、[PodName] .hという名前のファイルがあると仮定します。これは、以下のファイルと似ています。 このファイルにヘッダーを追加できます。

// 
// PodName.h 
// PodName 
// 
// Created by John Doe on 06.04.2016. 
// Copyright © 2016 John Doe Inc. All rights reserved. 
// 

#import <UIKit/UIKit.h> 

//! Project version number for PodName. 
FOUNDATION_EXPORT double PodNameVersionNumber; 

//! Project version string for PodName. 
FOUNDATION_EXPORT const unsigned char PodNameVersionString[]; 

// In this header, you should import all the public headers of your framework using statements like #import <PodName/PublicHeader.h> 

#import <Library/Library.h> // Add framework header here. 
関連する問題