最初に getsharekit.com からダウンロードしましたか、それとも ShareKit 2.0 を使用していますか? getsharekit の DL を使用している場合は、最初にアップグレードすることを強くお勧めします。次に、ShareKit を MonoTouch で動作させるための基本的なインストール手順を次に示します。
手順
1) コードをダウンロードする
2)Xcodeで開き、アプリの場合はiOSライブラリタイプの新しいXcodeプロジェクトを作成します
3) ライブラリをコンパイルし、必要なフレームワークをメモします。これらは、後でモノタッチでリンクするときに役立ちます。
3) lib の i386 Sim バージョンをコンパイルし、名前を libXYZLib_Sim.a に変更します。これをプロジェクトの /Lib にコピーし、そのビルド アクションを None に設定します。これは /ProjectLib/build/Debug-iphonesimulator/ の下にあります。
4) arm6 バージョンを正しいバージョンでコンパイルし、これをプロジェクトの /Lib にコピーして、ビルド アクションを None に設定します。これは /ProjectLib/build/Debug-iphoneos/ にあります。
5) .h ファイルを含むライブラリ ディレクトリに対して、NovellHeaderParser を実行します。
@@ mono "/Users/XX/Projects/NovellHeaderParser/NovellHeaderParser/bin/Debug/NovellHeaderParser.exe" /Users/XX/Documents/ShareKitLib/ShareKit/Core @@
これにより、システムにインポートできる MonoMac.cs ファイルが生成されます。
6) 他のディレクトリに対して手順 5 を繰り返します。注: 実際には、API が直接呼び出すトップレベル クラスなどのエントリ ポイントを含む .h ファイルに対してパーサーを実行するだけで済みます。サブクラス、ユーティリティ、ヘルパー メソッドは解析する必要はありません。
7) すべての MonoMac.cs ファイルを新しい MyLib.cs ファイルに結合し、それを /Lib の下のプロジェクトに追加します - そのビルド オプションを None に設定します
8) MonoMac から MonoTouch への参照をすべて変更します。
10) パーサーは、解析された各ディレクトリに対して enum.cs ファイルを作成する場合がありますが、API が必要とする構造体または列挙型を使用して MyLibEnum.cs という名前の独自のファイルを作成しない場合は、/Lib に追加し、ビルド オプションを None に設定します。
11) ターミナル ウィンドウを開き、プロジェクトの /Lib ディレクトリに移動します。
12) 次の btouch コマンド ラインを実行します。これにより、MyLib.cs @@ /Developer/MonoTouch/usr/bin/btouch -v MyLib.cs -s MyLibEnum.cs @@ で定義されたインターフェイスから wrapper.dll が作成されます。
13) 欠落している列挙型または構造体を MyLibEnum.cs に追加し、手順 12 を繰り返します。
14) 名前を変更して、セレクターの複数の宣言を修正します。後で問題が発生する可能性があります (注 1 を参照)。
15) 欠落している参照を修正します。たとえば、NSMutableArray は monotouch に存在しないように見えるので、これらを NSArrays に変更します (これらは monotouch で変更可能だと思います???)
16) 12) に戻り、dll が生成されるまで繰り返します。
17) dll への参照をプロジェクトに追加します。
18) 以下を iPhone ビルドに追加 > 追加の mtouch オプションをシミュレーターのデバッグ/リリース ビルドに追加: @@ -gcc_flags "-L${ProjectDir}/Lib -lMyLib_Sim -framework QuartzCore -framework CoreGraphics -framework MessageUI -framework Security -framework UIKit -framework CFNetwork -force_load ${ProjectDir}/Lib/libMyLib_Sim.a -ObjC" @@
'''知らせ'''
末尾なし / on -L${ProjectDir}/Lib
-lShareKitLib_Sim は、開始 lib プレフィックスまたは .a サフィックスを必要としません。
lib の作成に使用されるフレームワークごとに 1 つの -framework を追加します - 上記は完全なリストではありません
19) iPhone ビルドに以下を追加 > IPHONE デバッグ/リリース ビルドに mtouch オプションを追加: @@ -gcc_flags "-L${ProjectDir}/Lib -lMyLib -framework QuartzCore -framework CoreGraphics -framework MessageUI -framework Security -framework UIKit -framework CFNetwork -force_load ${ProjectDir}/Lib/libMyLib.a -ObjC" @@
20) テストしてみよう!