読者です 読者をやめる 読者になる 読者になる

Xamarin 日本語情報

Xamarin(ザマリン) の代理店だったエクセルソフト田淵のブログです。主に Xamarin に関するエントリーをアップしていきます。(なるべく正しい有益な情報を掲載していきたいと考えていますが、このブログのエントリーは所属組織の公式見解ではありませんのでご注意ください)

iOS Framework の Binding について

Xamarin には、ネイティブライブラリを Xamarin で参照できる dll に変換する Binding という機能があります。

Binding Objective-C | Xamarin (iOS

Binding a Java Library (.jar) | Xamarin (Android

Android の jar は割と簡単なようですが iOS の Framework はコツがいるようで、変換しやすいものとしづらいものがあるようです。

コツらしきもの

  • 手間を避けるため、配布されているスタティックライブラリそのまま使用
  • GUI の Objective Sharpie では目標とする変換を得られない可能性があるのでターミナルの sharpie コマンドの使用も考慮する
  • 出力された内容からも必要なものを取捨選択する
  • 頑張る

Objective Sharpie については以下を参照してください。

Automated Binding Definitions using Objective Sharpie | Xamarin

 

既存の iOS ネイティブアプリから機能を持ってくる場合:

  • Xcode でスタティックライブラリのプロジェクトを作成する。
  • Xcode でそのプロジェクトを参照する、アプリのプロジェクトを作成する。
  • スタティックライブラリの中に既存のソースで必要なものを全部入れて適切にビルドが通すようにする。
  • そのライブラリ内に、適切に初期化して ViewController を返すクラスメソッドを実装。
  • 動作はアプリプロジェクトで確認する。
  • 最後に、スタティックライブラリ単体をユニバーサルバイナリになるようにビルドする。

こうしてできたスタティックライブラリをネイティブブリッジでつなぎ込みする。とのことです。

ネイティブブリッジは

Linking Native Libraries | Xamarin

のことかと思います。

 

(公開していいのだろうか…)