To do this, you need to write a tiny iOS plugin, here is more detailed information about it: http://docs.unity3d.com/Manual/PluginsForIOS.html
And here is your decision, ask if something should be unclear.
Script / 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 } }
Plugins /MyNativeBindings.cs
public class MyNativeBindings { #if UNITY_IPHONE [DllImport ("__Internal")] public static extern string GetSettingsURL(); [DllImport ("__Internal")] public static extern void OpenSettings(); #endif }
Plugins / 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]; } }
Jeanluc
source share