Xamarin iOS相当于System.loadLibrary 在Android应用程序中,我添加了一个C++文件(原生LIB .CPP),它有几种返回一些数据的方法。
例如:Xamarin iOS相当于System.loadLibrary 在Android应用程序中,我添加了一个C++文件(原生LIB .CPP),它有几种返回一些数据的方法。,xamarin,xamarin.ios,Xamarin,Xamarin.ios,例如: JNIEXPORT jstring JNICALL Java_my_android_namespace_activities_activity_name_getX(JNIEnv *env, jobject instance) { return env->NewStringUTF("some bla bla"); } 然后在Java
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应用程序中实现相同的功能?
Xamarin.iOS
具有ObjCRuntime
命名空间,其中包括许多标准的ObjC包装:
IntPtr h = Dlfcn.dlopen ("libMySpecialSauceLibrary.dylib", 0);
if (h == IntPtr.Zero) {
// Failed load
} else {
// Successful load
Dlfcn.dlclose (h);
}
这些只是通过C#的DllImport
进行包装,因此请查看ObjC文档中的参数文档、设置、库位置等。。i、 e
[DllImport ("libSystem.dylib")]
public static extern IntPtr dlopen (string path, int mode);
谢谢你的帮助!