Oke, saya tahu ada banyak pertanyaan tentang itu, tetapi mereka semua berasal dari masa lalu.
Begitu. Saya tahu itu mungkin karena aplikasi Peta melakukannya.
Di aplikasi Peta jika saya mematikan pelokalan untuk aplikasi ini, ia mengirim saya pesan, dan jika saya menekan oke, "Pengaturan Aplikasi" akan terbuka. Dan pertanyaan saya adalah, bagaimana ini mungkin? Bagaimana saya bisa membuka "Pengaturan aplikasi" dari aplikasi saya sendiri?
Pada dasarnya saya perlu melakukan hal yang sama, jika pengguna mematikan lokasi untuk aplikasi saya, maka saya akan menunjukkan kepadanya pesan yang mengatakan sesuatu yang akan membuka "Pengaturan aplikasi"
ios
objective-c
iphone
application-settings
appsettings
FelipeDev.-
sumber
sumber
Jawaban:
Seperti yang disebutkan oleh Karan Dua ini sekarang dimungkinkan di iOS8 menggunakan
UIApplicationOpenSettingsURLString
lihat Dokumentasi Apple .Contoh:
Cepat 4.2
Dalam Swift 3:
Dalam Swift 2:
Dalam Objective-C
Sebelum ke iOS 8:
Kamu tidak bisa. Seperti yang Anda katakan ini telah dibahas berkali-kali dan yang muncul meminta Anda untuk mengaktifkan layanan lokasi disediakan oleh Apple dan bukan oleh App itu sendiri. Itu sebabnya ia bisa membuka aplikasi pengaturan.
Berikut beberapa pertanyaan & artikel terkait:
apakah mungkin membuka Aplikasi Pengaturan menggunakan openURL?
Secara terprogram membuka aplikasi pengaturan (iPhone)
Bagaimana saya bisa membuka aplikasi Pengaturan ketika pengguna menekan tombol?
iPhone: Membuka Panel Preferensi Aplikasi Dari Aplikasi
Buka UIPickerView dengan mengklik entri di preferensi aplikasi - Bagaimana caranya?
Buka aplikasi Pengaturan?
iOS: Anda Melakukan Pengaturan yang Salah
sumber
Dari @Yatheeshaless 's jawabannya :
Anda dapat membuka aplikasi pengaturan secara terprogram di iOS8, tetapi tidak di versi iOS sebelumnya.
Cepat:
Swift 4:
Swift 4.2 (BETA):
Tujuan-C:
sumber
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
IYA!! Anda dapat membuka layar Device Settings, saya telah menguji di iOS 9.2
Langkah 1. kita perlu menambahkan skema URL
Buka Pengaturan proyek -> Info -> Jenis URL -> Tambahkan Skema URL Baru
Langkah 2. Buka Pengaturan secara terprogram Berkat @davidcann
Kami juga dapat meluncurkan sub-layar seperti Musik, Lokasi dll. Juga hanya dengan menggunakan nama yang tepat
Lihat daftar nama lengkap ini di sini yang dibagikan oleh Henri Normak
Memperbarui:
Sesuai komentar, semua orang ingin tahu apa yang terjadi setelah perubahan ini ke status pengiriman aplikasi saya?
Begitu
YES!! I got successful update submission and application is available on store without any complain.
Hanya untuk mengonfirmasi, saya Baru saja mengunduh pagi ini dan menonaktifkan layanan Lokasi, dan kemudian memulai aplikasi, yang meminta saya untuk izin lokasi dan kemudian popup peringatan saya ada di sana untuk mengirim saya pada pengaturan -> halaman layanan lokasi -> Diaktifkan -> Itu dia!!
! [PEMBERITAHUAN: Aplikasi Anda mungkin ditolak ... meskipun disetujui, aplikasi itu dapat ditolak di versi mendatang jika Anda menggunakan metode ini ...] 4
sumber
Anda dapat menggunakan ini di iOS 5.0 dan yang lebih baru:Ini tidak lagi berfungsi.sumber
prefs:root=General&path=Bluetooth
Pembaruan iOS 10
Apple mengubah metode untuk membuka async pada utas utama. Namun, mulai sekarang hanya mungkin untuk membuka pengaturan aplikasi di pengaturan asli.
[[UIApplication sharedApplication] openURL:url options:@{} completionHandler:nil];
Pembaruan iOS 9
Sekarang dimungkinkan untuk langsung menuju ke menu sub-pengaturan. Namun, skema URL harus dibuat. Itu bisa dilakukan dengan dua cara:
<key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleTypeRole</key> <string>Editor</string> <key>CFBundleURLSchemes</key> <array> <string>prefs</string> </array> </dict> </array>
Kemudian kodenya:
Cepat
UIApplication.sharedApplication().openURL(NSURL(string:"prefs:root=General&path=Keyboard")!)
Objektif-c
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=General&path=Keyboard"]];
sumber
Magic Launcher
di Appstore.Di Swift 3 / iOS 10+ ini sekarang terlihat seperti
sumber
Swift 3:
sumber
Sepertinya Anda dapat menggunakan
prefs:<area>
URL untuk membuka pengaturan dan pergi ke area tertentu. Apple dapat mengubah ini dan merusak aplikasi Anda jadi selalu periksa apakah Anda dapat membukanya terlebih dahulu.Dari artikel ini mereka telah mendaftarkan beberapa dari mereka untuk iOS 13.1:
URL pengaturan
iCloud
prefs:root=CASTLE
prefs:root=CASTLE&path=BACKUP
Radio Nirkabel
prefs:root=WIFI
prefs:root=Bluetooth
prefs:root=MOBILE_DATA_SETTINGS_ID
Hotspot Pribadi
prefs:root=INTERNET_TETHERING
prefs:root=INTERNET_TETHERING&path=Family%20Sharing
prefs:root=INTERNET_TETHERING&path=Wi-Fi%20Password
VPN
prefs:root=General&path=VPN
Notifikasi
prefs:root=NOTIFICATIONS_ID
prefs:root=NOTIFICATIONS_ID&path=Siri%20Suggestions
Kedengarannya
prefs:root=Sounds
prefs:root=Sounds&path=Ringtone
Jangan ganggu
prefs:root=DO_NOT_DISTURB
prefs:root=DO_NOT_DISTURB&path=Allow%20Calls%20From
Waktu layar
prefs:root=SCREEN_TIME
prefs:root=SCREEN_TIME&path=DOWNTIME
prefs:root=SCREEN_TIME&path=APP_LIMITS
prefs:root=SCREEN_TIME&path=ALWAYS_ALLOWED
Umum
prefs:root=General
prefs:root=General&path=About
prefs:root=General&path=SOFTWARE_UPDATE_LINK
prefs:root=General&path=CARPLAY
prefs:root=General&path=AUTO_CONTENT_DOWNLOAD
prefs:root=General&path=MULTITASKING
prefs:root=General&path=DATE_AND_TIME
prefs:root=General&path=Keyboard
prefs:root=General&path=Keyboard/KEYBOARDS
prefs:root=General&path=Keyboard/Hardware%20Keyboard
prefs:root=General&path=Keyboard/USER_DICTIONARY
prefs:root=General&path=Keyboard/ReachableKeyboard
prefs:root=General&path=INTERNATIONAL
prefs:root=General&path=DICTIONARY
prefs:root=General&path=ManagedConfigurationList
prefs:root=General&path=Reset
Pusat kendali
prefs:root=ControlCenter
prefs:root=ControlCenter&path=CUSTOMIZE_CONTROLS
Tampilan
prefs:root=DISPLAY
prefs:root=DISPLAY&path=AUTOLOCK
prefs:root=DISPLAY&path=TEXT_SIZE
Aksesibilitas
prefs:root=ACCESSIBILITY
Wallpaper
prefs:root=Wallpaper
Siri
prefs:root=SIRI
Pensil Apple
prefs:root=Pencil
ID Wajah
prefs:root=PASSCODE
SOS darurat
prefs:root=EMERGENCY_SOS
Baterai
prefs:root=BATTERY_USAGE
prefs:root=BATTERY_USAGE&path=BATTERY_HEALTH
Pribadi
prefs:root=Privacy
prefs:root=Privacy&path=LOCATION
prefs:root=Privacy&path=CONTACTS
prefs:root=Privacy&path=CALENDARS
prefs:root=Privacy&path=REMINDERS
prefs:root=Privacy&path=PHOTOS
prefs:root=Privacy&path=MICROPHONE
prefs:root=Privacy&path=SPEECH_RECOGNITION
prefs:root=Privacy&path=CAMERA
prefs:root=Privacy&path=MOTION\
Toko aplikasi
prefs:root=STORE
prefs:root=STORE&path=App%20Downloads
prefs:root=STORE&path=Video%20Autoplay
Dompet
prefs:root=PASSBOOK
Kata Sandi & Akun
prefs:root=ACCOUNTS_AND_PASSWORDS
prefs:root=ACCOUNTS_AND_PASSWORDS&path=FETCH_NEW_DATA
prefs:root=ACCOUNTS_AND_PASSWORDS&path=ADD_ACCOUNT
Surat
prefs:root=MAIL
prefs:root=MAIL&path=Preview
prefs:root=MAIL&path=Swipe%20Options
prefs:root=MAIL&path=NOTIFICATIONS
prefs:root=MAIL&path=Blocked
prefs:root=MAIL&path=Muted%20Thread%20Action
prefs:root=MAIL&path=Blocked%20Sender%20Options
prefs:root=MAIL&path=Mark%20Addresses
prefs:root=MAIL&path=Increase%20Quote%20Level
prefs:root=MAIL&path=Include%20Attachments%20with%20Replies
prefs:root=MAIL&path=Signature
prefs:root=MAIL&path=Default%20Account
Kontak
prefs:root=CONTACTS
Kalender
prefs:root=CALENDAR
prefs:root=CALENDAR&path=Alternate%20Calendars
prefs:root=CALENDAR&path=Sync
prefs:root=CALENDAR&path=Default%20Alert%20Times
prefs:root=CALENDAR&path=Default%20Calendar
Catatan
prefs:root=NOTES
prefs:root=NOTES&path=Default%20Account
prefs:root=NOTES&path=Password
prefs:root=NOTES&path=Sort%20Notes%20By
prefs:root=NOTES&path=New%20Notes%20Start%20With
prefs:root=NOTES&path=Sort%20Checked%20Items
prefs:root=NOTES&path=Lines%20%26%20Grids
prefs:root=NOTES&path=Access%20Notes%20from%20Lock%20Screen
Pengingat
prefs:root=REMINDERS
prefs:root=REMINDERS&path=DEFAULT_LIST
Memo Suara
prefs:root=VOICE_MEMOS
Telepon
prefs:root=Phone
Pesan
prefs:root=MESSAGES
FaceTime
prefs:root=FACETIME
Peta
prefs:root=MAPS
prefs:root=MAPS&path=Driving%20%26%20Navigation
prefs:root=MAPS&path=Transit
Kompas
prefs:root=COMPASS
Mengukur
prefs:root=MEASURE
Safari
prefs:root=SAFARI
prefs:root=SAFARI&path=Content%20Blockers
prefs:root=SAFARI&path=DOWNLOADS
prefs:root=SAFARI&path=Close%20Tabs
prefs:root=SAFARI&path=CLEAR_HISTORY_AND_DATA
prefs:root=SAFARI&path=Page%20Zoom
prefs:root=SAFARI&path=Request%20Desktop%20Website
prefs:root=SAFARI&path=Reader
prefs:root=SAFARI&path=Camera
prefs:root=SAFARI&path=Microphone
prefs:root=SAFARI&path=Location
prefs:root=SAFARI&path=ADVANCED
Berita
prefs:root=NEWS
Kesehatan
prefs:root=HEALTH
Pintasan
prefs:root=SHORTCUTS
Musik
prefs:root=MUSIC
prefs:root=MUSIC&path=com.apple.Music:CellularData
prefs:root=MUSIC&path=com.apple.Music:OptimizeStorage
prefs:root=MUSIC&path=com.apple.Music:EQ
prefs:root=MUSIC&path=com.apple.Music:VolumeLimit
televisi
prefs:root=TVAPP
Foto
prefs:root=Photos
Kamera
prefs:root=CAMERA
prefs:root=CAMERA&path=Record%20Video
prefs:root=CAMERA&path=Record%20Slo-mo
Buku
prefs:root=IBOOKS
Pusat Permainan
prefs:root=GAMECENTER
sumber
UIApplicationOpenSettingsURLString
ini hanya akan berfungsi jika sebelumnya Anda telah diizinkan untuk izin apa pun. Misalnya Lokasi, Foto, Kontak, akses pemberitahuan Push. Jadi, jika Anda tidak memiliki izin dari pengguna:Jika iOS 10 atau lebih ,
Ini akan membuka Pengaturan tetapi kemudian crash. Alasannya, tidak ada pengaturan untuk aplikasi Anda.
Kode di bawah ini akan membuka pengaturan aplikasi Anda di dalam Pengaturan iOS.
Karena tidak tersedianya perangkat, saya tidak dapat memeriksa ini di iOS <10.
Juga, saya dapat menemukan kode di bawah ini dari beberapa intinya dan berfungsi dengan baik di iOS 10 juga. Tetapi saya tidak yakin apakah ini akan disetujui oleh tim peninjau Apple atau tidak.
https://gist.github.com/johnny77221/bcaa5384a242b64bfd0b8a715f48e69f
sumber
Di Swift 3 yang saya butuhkan adalah ini (di sini misalnya, redirect ke notifikasi aplikasi saya):
Sumber: inti phynet .
Ini bekerja dengan saya hanya ketika pengaturan di latar belakang. Ini akan mengarahkan Anda ke pengaturan pemberitahuan aplikasi Anda, tetapi jika pengaturan tidak berjalan di latar belakang, itu hanya akan mengarahkan Anda ke pengaturan pemberitahuan secara umum.
sumber
Anda dapat menggunakan kode di bawah ini untuk itu.
sumber
SWIFT 4.0
sumber
Cepat 4
Saya lebih suka membuka pengaturan dengan cara yang lebih aman,
sumber
Swift Anda dapat menggunakan fungsi berikut untuk membuka Pengaturan Aplikasi dengan Halaman Bluetooth
Sekali lagi ini tidak akan membuka Pengaturan Aplikasi. Ini akan membuka aplikasi pengaturan dengan Bluetooth karena ini menghubungkan mendalam ke bluetooth.
sumber
Diuji dengan iOS 10. Bekerja
Selamat Coding :)
sumber
Untuk menambah jawaban yang diterima: (dari dokumentasi pengembang apple) "Ketika Anda membuka URL yang dibangun dari string ini (openSettingsURLString), sistem meluncurkan aplikasi Pengaturan dan menampilkan pengaturan khusus aplikasi, jika ada." Jadi, jika Anda ingin membuka pengaturan untuk aplikasi Anda, buat Pengaturan Anda sendiri. Bundle.
sumber
Tambahkan ini ke kelas Anda,
Sebut seperti ini,
sumber