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);

谢谢你的帮助!