gpt4 book ai didi

ios - 在 Unity iOS 上打开设置应用程序

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:26:10 24 4
gpt4 key购买 nike

我需要一种方法让用户进入“设置”应用程序以禁用多任务手势。我知道在 iOS 8 中,您可以通过 Objective-C 中的 URL 以编程方式启动设置应用程序:

NSURL * url = [NSURL URLWithString: UIApplicationOpenSettingsURLString];

但我不知道如何在 Unity 中获取此 URL 以与 Application.OpenURL() 一起使用

最佳答案

您需要为此编写一个小型 iOS 插件,这里有更多相关信息:http://docs.unity3d.com/Manual/PluginsForIOS.html

这是您的解决方案,询问是否有不清楚的地方。

脚本/Example.cs

using UnityEngine;

public class Example
{
public void OpenSettings()
{
#if UNITY_IPHONE
string url = MyNativeBindings.GetSettingsURL();
Debug.Log("the settings url is:" + url);
Application.OpenURL(url);
#endif
}
}

插件/MyNativeBindings.cs

public class MyNativeBindings 
{
#if UNITY_IPHONE
[DllImport ("__Internal")]
public static extern string GetSettingsURL();

[DllImport ("__Internal")]
public static extern void OpenSettings();
#endif
}

插件/iOS/MyNativeBindings.mm

extern "C" {
// Helper method to create C string copy
char* MakeStringCopy (NSString* nsstring)
{
if (nsstring == NULL) {
return NULL;
}
// convert from NSString to char with utf8 encoding
const char* string = [nsstring cStringUsingEncoding:NSUTF8StringEncoding];
if (string == NULL) {
return NULL;
}

// create char copy with malloc and strcpy
char* res = (char*)malloc(strlen(string) + 1);
strcpy(res, string);
return res;
}

const char* GetSettingsURL () {
NSURL * url = [NSURL URLWithString: UIApplicationOpenSettingsURLString];
return MakeStringCopy(url.absoluteString);
}

void OpenSettings () {
NSURL * url = [NSURL URLWithString: UIApplicationOpenSettingsURLString];
[[UIApplication sharedApplication] openURL: url];
}
}

关于ios - 在 Unity iOS 上打开设置应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30010334/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com