xib で定義されたビューと、Objective-C で記述されたコントローラー コードを含む、再利用可能な MonoTouch ライブラリを作成しようとしています。
- すべてのアウトレットが宣言された関連するコントローラー コードを含む静的な Objective-C ライブラリを作成しました。
静的 *.a ライブラリには明らかに xib/nib データを含めることはできません (可能であれば誰かに知らせてください)。そのため、このライブラリに xib/nib を埋め込むことはできません。 - 関連するラッパー クラスを定義する「MonoTouch Binding Project」を作成しました。
これは、理想的には xib/nibs も埋め込み、この dll をリンクする最終的なプロジェクトのアプリ バンドルにそれらを含める場所です。
「MonoTouch Library Project」が xibs で何をするかを見てみましょう。ibtool を使用して nib にコンパイルし、smcs の /res オプションを使用して結果のライブラリ dll にリソースとして埋め込みます。プロジェクトでxibファイルが「InterfaceDefinition」ビルドアクションでマークされているため、これがトリガーされると想定しています。
ただし、「MonoTouch Binding Project」には「InterfaceDefinition」ビルド アクションがありません。これは、MonoTouch Binding Project を使用してまったく可能ですか?
まだ試していませんが、Library プロジェクトが ibtool と smcs /res で行うことと、Binding Project が btouch と smcs で行うことを組み合わせることで、手動で動作させることができると思います。しかし、私はむしろこれを避けたいと思います。最近、Makefile がないことを楽しんでいます。
Xamarin/MonoTouch チーム - 今後これをバインド プロジェクトに追加する予定はありますか? 現在、それを強制的に機能させる方法はありますか?