Saya baru-baru ini menemukan Skema URL Pengaturan kustom iOS5 yang mengagumkan , yang dapat dijelaskan secara rinci di situs web hebat ini .
Saya telah menemukan ini untuk bekerja, mengarahkan pengguna ke aplikasi Pengaturan dari aplikasi saya:
[[UIApplication sharedApplication] openURL:
[NSURL URLWithString:@"prefs:root=General"]];
Tetapi tampaknya tidak dapat merutekan langsung ke jalur Pembatasan melalui path
parameter:
[[UIApplication sharedApplication] openURL:
[NSURL URLWithString:@"prefs:root=General&path=Restrictions"]];
Adakah yang menemukan dokumentasi tentang ini atau mampu membuat ini bekerja?
Setiap wawasan akan sangat dihargai. Saya mencoba mengajak pengguna untuk mengaktifkan pembelian dalam Aplikasi, dan lebih suka pengguna tidak mengklik Batasan secara manual (tidak terlalu jelas).
ios
iphone
settings
url-scheme
uiapplication
kturner
sumber
sumber
Jawaban:
SEBAGAI JAWABAN @Nix Wang , INI TIDAK BEKERJA DI IOS 10
PERINGATAN: Metode ini tidak akan berfungsi untuk perangkat yang menjalankan iOS 5.1 dan yang lebih baru - Lihat komentar Hlung di bawah.
Mungkin saja
path
komponen tersebut memiliki nama yang berbeda dari bagian yang sebenarnya, tetapi mungkin juga Anda saat ini tidak dapat mengakses bagian tersebut langsung dari URL. Saya menemukan daftar kemungkinan URL dan Pembatasan tidak ada di dalamnya, mungkin itu belum ditemukan.Daftar URL yang saat ini dikenal di aplikasi Pengaturan:
sumber
[NSURL URLWithString:UIApplicationOpenSettingsURLString]
Mulai iOS8, Anda dapat membuka aplikasi Pengaturan bawaan dengan:
NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString]; if ([[UIApplication sharedApplication] canOpenURL:url]) { [[UIApplication sharedApplication] openURL:url]; }
String URL sebenarnya adalah
@"app-settings:"
. Saya mencoba menambahkan bagian yang berbeda ke string ("Bluetooth", "GENERAL", dll.) Tetapi tampaknya hanya menautkan ke layar Pengaturan utama yang berfungsi. Posting balasan jika Anda menemukan sebaliknya.sumber
Jika Anda menambahkan skema URL prefs ke aplikasi iOS Anda, itu akan memungkinkan Anda untuk menggunakan semua skema yang kami bisa di iOS 5. Saya telah mengujinya di iOS 9, tetapi saya pikir ini akan bekerja pada versi yang lebih lama juga.
sumber
Memperbarui:
prefs:
TIDAK akan berfungsi sejak iOS 10.sumber
prefs:
tidak lagi berfungsi, berikut ini (setidaknya dalam pembukaan umum):App-Prefs::root=Settings&path=General
Ya, melihat ini (dan banyak lagi), bahkan menerapkannya dalam aplikasi pengujian. Benar-benar perlu mendapatkan kata definitif dari Apple, tetapi pendapat konsensus komunitas adalah Apple melarangnya di 5.1 setelah "ditemukan / dipublikasikan" secara publik, sehingga aplikasi yang berisi itu tidak akan diterima.
Pembaruan 08/01/12: Menanyakan Apple melalui akun pengembang saya apakah ada cara untuk meluncurkan dialog Pengaturan WiFi secara terprogram. Berikut tanggapannya:
sumber
Di iOS 9 ini berfungsi lagi!
Untuk membuka Pengaturan> Umum> Keyboard , saya menggunakan:
prefs:root=General&path=Keyboard
Selain itu, dimungkinkan untuk melangkah lebih jauh ke Keyboard :
prefs:root=General&path=Keyboard/KEYBOARDS
sumber
LSApplicationQueriesSchemes
dalaminfo.plist
?Saya ingin membuka Menu Bluetooth di Aplikasi Pengaturan dan jalur di atas (prefs: root = General & path = Bluetooth) tidak berfungsi untuk saya. Apa yang akhirnya berhasil untuk saya adalah
UIApplication.sharedApplication().openURL(NSURL(string:"prefs:root=Bluetooth")!)
Pastikan Anda telah menentukan
prefs
Skema URL terlebih dahulu.sumber
prefs
-barang.Solusi untuk iOS10. Bekerja dengan baik.
NSURL *URL = [NSURL URLWithString:@"App-prefs:root=TWITTER"]; [[UIApplication sharedApplication] openURL:URL options:@{} completionHandler:nil];
sumber
Mulai iOS10, Anda dapat menggunakan
UIApplication.sharedApplication().openURL(NSURL(string:"App-Prefs:root")!)
untuk membuka pengaturan umum.
Anda juga dapat menambahkan url yang dikenal (Anda dapat melihatnya di jawaban yang paling disukai) ke sana untuk membuka pengaturan tertentu. Misalnya yang di bawah ini membuka touchID dan kode sandi.
UIApplication.sharedApplication().openURL(NSURL(string:"App-Prefs:root=TOUCHID_PASSCODE")!)
sumber
App-Prefs
adalah API pribadi yang akan menyebabkan aplikasi ditolak selama peninjauan.Ini hal lain yang saya temukan:
Setelah saya menetapkan Skema URL "prefs", "prefs: root = Safari & path = ContentBlockers" berfungsi pada Simulator (iOS 9.1 Inggris ), tetapi tidak berfungsi pada Simulator (Aksara China Sederhana) . Itu hanya melompat ke Safari, tetapi bukan Pemblokir Konten. Jika aplikasi Anda internasional, berhati-hatilah.
Pembaruan: Tidak tahu mengapa, sekarang saya tidak bisa beralih ke ContentBlockers lagi, kode yang sama, versi yang sama, tidak berfungsi sekarang. :(
Pada perangkat nyata (milik saya adalah iPhone 6S & iPad mini 2), "Safari" seharusnya "SAFARI" , "Safari" tidak berfungsi di perangkat nyata, "SAFARI" sekarang berfungsi pada simulator:
#if arch(i386) || arch(x86_64) // Simulator let url = NSURL(string: "prefs:root=Safari")! #else // Device let url = NSURL(string: "prefs:root=SAFARI")! #endif if UIApplication.sharedApplication().canOpenURL(url) { UIApplication.sharedApplication().openURL(url) }
Sejauh ini, tidak ditemukan adanya perbedaan antara iPhone dan iPad.
sumber
Berfungsi dengan baik untuk pengaturan Notifikasi Aplikasi pada IOS 10 (diuji)
if(&UIApplicationOpenSettingsURLString != nil){ [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]]; }
sumber
iOS 10
Menggunakan
app-prefs:
App-prefs:root=MOBILE_DATA_SETTINGS_ID
Lihat intinya
sumber
Saya memperbarui satu berita di sini. Menggunakan 'prefs:' saja TIDAK ditolak oleh Apple, saya mengujinya dan memeriksa disetujui ke app store (pada Agustus 2016). Terima kasih.
sumber
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=DO_NOT_DISTURB"]];
untuk membuka Pengaturan DND perangkat. Apple akan menolak ini?