我想将mono嵌入到我的iOS应用程序中。我不想使用MonoTouch。我想像这样手动嵌入mono:
http://www.mono-project.com/Embedding_Mono
我已经在windows上成功地做到了这一点,使用上面的指南和各种在线示例,下面是一个很好的Windows示例:
https://github.com/inkdev/Embedded-Mono-Sample
然而,我在开始使用iOS时遇到了麻烦。我知道这是可以做到的,像Unity3d这样的公司用它来驱动他们的游戏引擎技术。我不知道如何为iOS编译和链接单声道,也找不到任何好的说明来这样做。我没有找到任何使用搜索引擎的帮助,它们似乎只出现了关于MonoTouch (Xamarin自己的关于将mono嵌入到iOS中的商业包装器)的文章。
这里有更多值得注意的链接:
http://www.mono-project.com/Mono:ARM
http://web.archive.org/web/20090106023130/http://mono-project.com./Mono:Iphone
有没有什么地方可以为Mono for iOS获取预编译库和头文件,这样我就可以在我的C代码中简单地链接和包含?
谁能提供一个例子,如何为iOS的ARM处理器编译单声道?
MonoTouch为所有的iOS Objective C API提供了一个很好的包装器,但是你不一定需要所有这些,因为我知道你应该可以自己编译和嵌入mono,然后使用pInvoke来调用你需要的几个本机函数。
任何帮助都将不胜感激,泰!
发布于 2013-10-23 03:45:50
虽然不完全符合您的要求,但iOS 7增加了对使用JavaScript编写脚本的支持。许多找到这篇文章的人可能想要使用这个新功能来实现你正在尝试的东西。Link
发布于 2013-08-01 07:03:23
正如罗尔夫所说,你需要先阅读Mono Licensing document。在iOS上嵌入mono需要得到Xamarin的特殊许可。
您需要在XCode中更改几个构建设置,下面是我所做的。
libmonoboehm-2.0.a
添加到项目(您可以使用其他版本的.a文件) Library/Frameworks/Mono.framework/Versions/{version}/lib
iOS
/Library/Frameworks/Mono.frameworks/Versions/{version}/include/mono-2.0
/Library/Frameworks/Mono.frameworks/Versions/{version}/lib
并且,在您的iOS应用程序中编写如下代码
#include <mono/jit/jit.h>
#include <mono/metadata/mono-config.h>
#include <mono/metadata/assembly.h>
#include <mono/metadata/environment.h>
// ....
const char* dllFile = "ABSOLUTE_PATH_TO_DLL_OR_EXE";
domain = mono_jit_init(dllFile);
mAssembly = mono_domain_assembly_open(domain, dllFile);
// ... Do whatever you want :)
请记住。在iOS上嵌入mono时,您需要获得Xamarin的许可。
享受:)
https://stackoverflow.com/questions/14507770
复制相似问题