我正在尝试创建一个可重用的 MonoTouch 库,其中包含在 xib 中定义的视图和用 Objective-C 编写的控制器代码。
- 我创建了一个静态的 Objective-C 库,其中包含相关的控制器代码,并声明了所有的出口。
一个静态的 *.a 库显然不能包含 xib/nib 数据(如果可能的话,有人可以告诉我),所以我不能在这个库中嵌入 xibs/nib。 - 我创建了一个定义相关包装类的“MonoTouch 绑定项目”。
理想情况下,这也是我嵌入 xib/nib 的地方,并将它们包含在链接此 dll 的任何最终项目的应用程序包中。
现在看看“MonoTouch 库项目”对 xibs 的作用——它使用 ibtool 将其编译为 nib,然后使用 smcs 的 /res 选项将其作为资源嵌入到生成的库 dll 中。我假设这是因为 xib 文件在项目中标有“InterfaceDefinition”构建操作而被触发。
但是,“MonoTouch 绑定项目”没有“InterfaceDefinition”构建操作。使用 MonoTouch 绑定项目这是否可能?
我还没有尝试过,但我假设我可以通过结合 Library 项目与 ibtool 和 smcs /res 的功能以及 Binding Project 与 btouch 和 smcs 的功能来手动工作。但我宁愿避免这种情况,我最近很享受 Makefile 的缺失。
Xamarin/MonoTouch 团队 - 将来有没有计划将此添加到 Binding Projects 中?有什么方法可以强制它目前工作吗?