質問: macOS10.12.5、Xcode8.3.3にて、bitFlyer APIのHTTP Private APIを利用したいです。 Private APIの呼び出しには認証が必要で、 ・ACCESS-KEY ・ACCESS-TIMESTAMP ・ACCESS-SIGN をHTTPリクエストヘッダに含めるとあります。 ここで、 ACCESS-SIGN は、ACCESS-TIMESTAMP, HTTP メソッド, リクエストのパス, リクエストボディ を文字列として連結したものを、 API secret で HMAC-SHA256 署名を行った結果です。 とあり、この署名を行うにあたって、ハッシュ化が必要になるのですが、 iOSでSwiftから暗号化ライブラリを使う ライブラリ利用時によく使う、ブリッジヘッダーの作り方 を見ると、Objective-CののBridging Headerファイルを用意するとありますが、用意の仕方がわかりません。 説明を読む限りでは、Playgroudの環境下で利用しているものが見当たらないのですが、Playgroundでは、Obfective-Cのヘッダーファイルを利用することはできないのでしょうか? よろしくお願いいたします。 【2017/08/08追記】 izkn様の回答をもとに、playground frameworkの導入方法について検索してみたのですが、スキル不足のため理解できませんでした。 ビルドターゲットがフレームワークの時にCommonCryptoをimportしたい Xcode8とSwift3.0 プレイグランドテストでimport CryptoSwiftが認識されない Swift PlaygroundでCocoaPodsのライブラリを使う などを見ましたが、理解ができません。 CocoaPodsは、導入いたしました。バージョンは、1.3.0です。 CommonCryptoをインポートしたFrameworkの作成の仕方および導入方法について教えていただけますでしょうか? よろしくお願いいたします。
回答: > > SWIFTのPlaygroundでBridging Headerファイルは利用できるのでしょうか? > > > できないのではないかと推測します。 `Playground`でも`Framework`は利用できるので、自前で`CommonCrypto`をインポートしたものを作成するなり、既存のサードパーティ製のものを利用するなりしてください。 既存のものを利用するなら、導入方法は`playground framework`で検索すれば、色々見つかるでしょう。 自前で用意するなら、`Framework`では`Bridging Header`は用いず、自動で作成される`[フレームワーク名].h`に記述してください。 ``` #import #import //! Project version number for MyFramework. FOUNDATION_EXPORT double MyFrameworkVersionNumber; //! Project version string for MyFramework. FOUNDATION_EXPORT const unsigned char MyFrameworkVersionString[]; // In this header, you should import all the public headers of your framework using statements like #import ``` `ModuleMap`の設定が必要になるなら、下記を参考にしてください。 ios - Importing CommonCrypto in a Swift framework - Stack Overflow 色々調べて、試して、駄目なら、別途ご質問ください。