在一个Android应用中,我添加了一个c ++文件(native-lib.cpp),该文件具有一些返回一些数据的方法。
例如:
JNIEXPORT jstring JNICALL
Java_my_android_namespace_activities_activity_name_getX(JNIEnv *env,
jobject instance) {
return env->NewStringUTF("some bla bla");
}
然后在Java代码中可以使用:
System.loadLibrary("native-lib");
public native String getX();
如何在iOS应用中实现相同目标?
答案 0 :(得分:0)
Xamarin.iOS
具有ObjCRuntime
命名空间,该命名空间包含许多std。 ObjC包装器:
IntPtr h = Dlfcn.dlopen ("libMySpecialSauceLibrary.dylib", 0);
if (h == IntPtr.Zero) {
// Failed load
} else {
// Successful load
Dlfcn.dlclose (h);
}
这些只是通过C#的DllImport
进行包装,因此请查看ObjC文档中的参数文档,设置,库位置等。即
[DllImport ("libSystem.dylib")]
public static extern IntPtr dlopen (string path, int mode);