2017-11-07 3 views
1

私はSwiftPMを使用して構築された "HAP"(https://github.com/Bouke/HAP)というプロジェクトを使用しています。SwiftPMからCocoaアプリケーション(XCODE)へのフレームワークの埋め込み

"HAP-server"の例は、コマンドラインからうまく機能し、 "swift package generate-xcodeproj"というパラメータを使用してXCODEプロジェクトを作成しました。

また、XCODEでHAPを読み込み、ターゲット "HAPサーバー"をビルド/デバッグすることもできます。

私はCocoaアプリケーションでこのフレームワークを使用したいと思いますし、私のプロジェクトにHAP.xcodeprojを追加しました。作成したファイルを「組み込みバイナリ」と「リンクされたフレームワークとライブラリ」として追加しました。

これにより、View Controllerクラスに「HAPをインポートする」ことができます。 enter image description here

私はココアのターゲットをビルドしようとすると、しかし、私は、次のメッセージが表示されます - 必要なモジュールがありません「

... HAPプロジェクトから依存「Kituraネット」に関連すると思われます。 'CCurl'、 'C​​HTTPParser'」

enter image description here enter image description here

私のプロジェクトでSwiftPMからフレームワークを使用するための最良の方法は何ですか?

私はそれが検索ヘッダーと関係があると推測しています...誰も考えがありますか?

UPDATE#1:私は「リンク・バイナリとライブラリ」でKituraを使用しているライブラリをインポートしている私のココアプロジェクトに追加しようとしている

、からlibcurl.4.dylib USR/libに/が、それでも私には同じエラーが表示されます。

enter image description here

UPDATE#2:

enter image description here

私はこの方法を使用することによって、それを考え出すことになったのUPDATE#3

Importing CommonCrypto in a Swift framework

私のケースでは、ぴったりのものを投げていた各アイテムのモジュールマップを作成する必要がありました:CCURL & CHTTPParser。私がそれをしたら、私はコンパイルすることができました。

答えて

0

このレポのXcodeプロジェクトにKituraを埋め込む例を見ることができます。このレポのMakefileは、iOSでKituraを実行するためのXcodeプロジェクトを修正するビルドスクリプトを実行します。 iOS用のカールをコンパイルする必要があります - READMEの説明を参照してください。

私が覚えているから、あなたは、Header Search PathsにカールヘッダでLibrary Search Pathsからlibcurl.aのディレクトリをディレクトリを追加し、またOther Linker Flags-lzフラグを追加する必要があります。

+0

私はこのプロセスがMacOS Cocoaアプリケーションで動作することを前提としています。私は自分のiOSプロジェクト(マルチターゲットプロジェクトを持っている)には必要ありません。 MacOSアプリ... x64ビットを生成するので、大丈夫です。 – Mavro

+0

私は近くにいるよ!それはiOS用のビットをコンパイルしました - しかし私はMacOSが必要です - MacOSプラットフォームを持つdoBuildCurl.shがありますか? – Mavro

+0

MacOSの場合、libcurlはすでにインストールされていて、ビルドする必要はありません。ライブラリは '/ usr/lib/libcurl.dlyb'になければなりません。ヘッダは'/usr/include/curl'にあります。 –

関連する問題