仅当在实际设备上部署时,你的应用才可以调用 iOS 原生插件在 Unity 外部创建的一组代码,会在 Unity 中创建功能。有两种插件可用于 Unity:托管插件(使用 Visual Studio 等工具创建的托管 .NET 程序集)和原生插件(特定于平台的原生代码库)。更多信息
参见 术语表。使用一个额外的 C# 代码层包装所有原生代码方法,以便仅在设备上运行应用时调用原生代码方法。将此 C# 文件存储在项目中 Assets
文件夹中。
此 C# 层可以使用 平台条件编译 或检查 Application.platform
。对于在 Unity 编辑器中运行的代码,则返回占位符值。
有关这些方法的简单实现,请参阅以下章节。有关更详细的实现,请下载 Bonjour 浏览器示例。
与 Application.platform
相比,平台条件编译速度更快,因为它在编译时而不是运行时进行评估。
使用以下代码来实现条件编译
void MyMethod()
{
#if UNITY_IOS && !UNITY_EDITOR
CallNativeMethodImplementation();
#else
CallEditorMethodImplementation();
#endif
}
使用以下代码来实现 Application.platform
,并在编辑器中返回占位符值
void MyMethod()
{
if (Application.platform != RuntimePlatform.OSXEditor)
{
return _GetLookupStatus();
}
else
{
return "Done";
}
}