2017-01-06 9 views
-1

SwiftベースのCocoaPodsポッドに含めるCライブラリ(.h.aファイル)をローカルにビルドしました。 .aファイルとmodule.mapファイルに依存するようにpodspecを設定するにはどうすればよいですか?通常の非CocoaPods Xcodeプロジェクトでは、includelibを含むディレクトリにドラッグし、module.mapを追加するだけです。 pod installはXcodeプロジェクトファイルを上書きするため、CocoaPodsではこれを行うことができません。静的ライブラリがどこにでもホストされていないため、s.libraryは機能しません。私はs.vendored_librariesを試しましたが、module.mapはまだXcodeには未知のままです。最終結果はimport fooから私のSwiftファイルはエラーです。CocoaPodsプロジェクトはローカルの静的Cライブラリに依存します

編集:preserve_paths,vendored_librariesxcconfiganswered hereとして試してみました。問題はまだスイフトからモジュールをインポートする方法です。

編集2:私もdocumented hereとして私module.mapファイルを指すようにmodule_mapを使用してみましたが、悲しいことにCocoaPods 1.1.1クラッシュ([!] Oh no, an error occurred.)。

+0

Swift Compilerの下にあるImport Pathsにモジュールを追加しようとしましたか?プロジェクト設定のパスを検索しましたか? – user3237732

答えて

-1

私はそれを働かせました。私の場合、私はhttps://github.com/ashtons/libtiff-iosを使ってiOS(x86とarm)用に予めビルドされているlibtiff Cライブラリに依存しています。

outline hereとしてサブスペックを使用しました。静的ライブラリがポッドモジュールのルート外にあるlibtiffにあると仮定して、podspecサブスペックスニペットを次に示します。

s.subspec 'libtiff' do |libtiff| 
    libtiff.source_files = 'libtiff/include/*.h' 
    libtiff.public_header_files = 'libtiff/include/*.h' 
    libtiff.preserve_paths = 'libtiff/include/*.h' 
    libtiff.vendored_libraries = 'libtiff/lib/libjpeg.a', 'libtiff/lib/libpng.a', 'libtiff/lib/libtiff.a', 'libtiff/lib/libtiffxx.a' 
    libtiff.xcconfig = { 'HEADER_SEARCH_PATHS' => "${PODS_ROOT}/#{s.name}/libtiff/include/**" } 
    # you can't specify "libz" here, must specify "z", see https://github.com/CocoaPods/CocoaPods/issues/3232 
    libtiff.library = 'z' 
end 
関連する問題