我知道为 Unity 创建插件的基本前提是为要从 Unity 中调用的所有类创建一个包装器。但是,我发现的所有文档和示例都需要一个相应的 .cpp(如果是 c++)或 .mm(如果是 Objective-c)文件。
但是,我正在尝试为一些不包含任何源文件的 native iOS 代码创建插件。我只能访问四个头文件和一个 .a 文件。 Which I have gotten from here.
现在,因为我没有要包装的任何 .mm 文件,我有点困惑如何将这些文件引入 Unity,以便我可以从内部调用它们。以前有人做过吗?
在将 4 个头文件和 .a 文件作为插件引入 Unity 时,有人可以指出一些文档或任何可以帮助我的东西吗?
请记住,我没有可以访问的源文件。只有头文件本身。
你不需要源文件,甚至头文件都不需要,只要你知道函数的声明。
如 Building Plugins for iOS 中所述:
1.) 将您的 .a 文件放入 Assets/Plugins/iOS 中
2.) 查看头文件以获取所需的函数签名,例如
void RegisterUnityIPodCallbackListener (const char* gameObject, const char* method);
3.) 通过以下方式在 C# 类中声明 RegisterUnityIPodCallbackListener
:
public class IPodHandler {
[DllImport("__Internal")]
private static extern void RegisterUnityIPodCallbackListener (string gameObject, string method);
public static void MyRegisterUnityIPodCallbackListener () {
if (Application.platform == RuntimePlatform.IPhonePlayer) {
RegisterUnityIPodCallbackListener (GAME_OBJECT, METHOD);
}
}
}
4.) 在适当的位置调用:
IPodHandler.MyRegisterUnityIPodCallbackListener ("MyCallbackGameObject", "MyCallbackMethod");
常见陷阱:
关于c# - 适用于 Unity 的 iOS 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19704537/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |