[Xamarin] iOS の設定画面を開く

iOS でアプリから設定画面を開くには、UIKit.UIApplication.SharedApplication.OpenUrl メソッドを魔法のワードを引数にして呼び出せば開きます。
次のコードでは PCL から DependencyService で呼び出しています。
 

■ コード説明

一つ目のクラスは .iOS プロジェクトに、二つ目のクラスとインタフェースは PCL プロジェクトに作成します。
二つ目のクラスで、OpenUrl に渡している引数が魔法のワードで、ここではキーボードの設定を開いています。
魔法のワードは 「iOS Prefs」 などで Bing ってください。
https://www.bing.com/search?q=ios+prefs
 

■ コード

using Foundation;
using UIKit;
using Xamarin.Forms;

[assembly: Dependency(typeof(Settings.iOS.OpenSettings))]
namespace Settings.iOS
{
    public class OpenSettings:IOpenSettings
    {
        public void OpenUrl(string url)
        {
            UIKit.UIApplication.SharedApplication.OpenUrl(new NSUrl(url), new NSDictionary(), null);
        }
    }
}

 

using Xamarin.Forms;

namespace Settings
{
    public partial class SettingsPage : ContentPage
    {
        public SettingsPage()
        {
            InitializeComponent();
        }

        void Button_Clicked(object sender, System.EventArgs e)
        {
            DependencyService.Get<IOpenSettings>().OpenUrl("App-Prefs:root=General&path=Keyboard");
        }
    }

    public interface IOpenSettings
    {
        void OpenUrl(string url);
    }
}
広告