OGeek|极客世界-中国程序员成长平台

标题: ios - 通过 mono 框架在 iOS 应用程序中使用现有的 DLL [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 22:09
标题: ios - 通过 mono 框架在 iOS 应用程序中使用现有的 DLL

对于我当前的一个 iOS 项目,一些业务逻辑已通过 DLL 和 native C++ 绑定(bind)代码提供给我,我必须在动态库 (dylib) 中重新编译,然后通过此动态库使用 DLL。 最后像下面这个例子一样使用 DLL:

int main(int argc, char** argv){
  RTEnvironnement::CreateRTEnvironnement("../dll/RT.dll");
  RT::RT_Facade *  mFacade = new RT::RT_Facade();
  RT::RT_Data_Projet *  mProjet = new RT::RT_Data_Projet();
  mProjet->Load_From_XMLFile(argv[1]);
... 

对象 RTEnvironnement、RT_Facade、RT_Data_Projet 由绑定(bind) C++ 动态库提供。我无法获取基本 DLL 的代码,我必须像在 IOS 上一样使用 DLL。

我目前正在研究 mono touch 是否可以让我的 IOS 应用程序(基于 Xcode 的基本 iOS Objective C)启动使用标准 mono 框架构建的 DLL。在购买许可证之前,我必须确保 MonoTouch 能够做到这一点。

有人做类似的事情吗?有最简单的方法吗? 如果我选择使用 MonoTouch,我可以将我的项目保留在 Xcode 中并在 MonoDevelop 中构建 dylib,然后将 lib 导入 Xcode 项目吗?

感谢您的帮助。



Best Answer-推荐答案


the DLL that as been build with the standard mono framework.

MonoTouch(类似于 Android 的 Mono)提供了一个与 Silverlight 类似(超集)的基类库 (BCL) 配置文件。然而,它是整个 Mono 框架的一个子集。

因此,非常通常针对完整框架编译的程序集无法在 MonoTouch 上运行除非它们被重新编译(针对 MonoTouch BCL)。 p>

If i choose to use MonoTouch, can i keep my project in Xcode and just build the dylib in MonoDevelop and then import the lib the Xcode project ?

它比这更复杂(例如,MonoDevelop 不会给你一个 .dylib)。您可能可以通过谷歌搜索一些说明来执行此操作,但请注意,这种情况不受支持

支持的替代方法是让 MonoTouch 驱动应用程序,加载您需要的任何程序集,公开这些程序集,然后将控制权转移到您的 Objective-C 代码。

关于ios - 通过 mono 框架在 iOS 应用程序中使用现有的 DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9800536/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4