2013-03-28 34 views
18

Tôi biết có nhiều câu hỏi liên quan đến điều này.iPhone- Mở Cài đặt từ ứng dụng của tôi iOS 6

1) is it possible to open Settings App using openURL?

2) Opening the Settings app from another app

3) iOS Launching Settings -> Restrictions URL Scheme

Tôi đã theo những câu hỏi này để tham khảo nhưng điều đó không giải quyết truy vấn của tôi. Tôi biết rằng bằng cách sử dụng phương pháp openURL bạn có thể mở Cài đặt nhưng nó chỉ hợp lệ cho iOS 5.0 - 5.0.1. Trong iOS 5.1, nó không được chấp nhận.

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs://"]]; 

Tuy nhiên tôi đã nhìn thấy rất nhiều ứng dụng chủ yếu dựa trên địa điểm mà yêu cầu cho phép người sử dụng để bật Location Services và mất trực tiếp đến Location Services dưới Settings -> Privacy. Ảnh chụp màn hình của ứng dụng được cài đặt trên thiết bị chạy iOS 6.1, bên dưới cho thấy rằng nhấn vào Cài đặt sẽ đưa bạn đến thẳng Dịch vụ vị trí.

Tôi đã cố gắng chạy mã trong ứng dụng nhưng không hoạt động (Tôi muốn đưa người dùng đến trang Cài đặt để cho phép ứng dụng của tôi truy cập thông tin liên hệ trực tiếp từ Ứng dụng của tôi). Nếu Apple đã tắt Sơ đồ URL cho điều này thì có bao nhiêu Ứng dụng vẫn đang sử dụng nó không?

enter image description here

+6

Lệnh 'prefs: //' không bị phản đối , nó không bao giờ o fficially phát hành. Có nghĩa là Apple chỉ có thể loại bỏ hỗ trợ cho nó khi họ cảm thấy thích nó. – rckoenes

+0

Vâng, tốt. Đó là một khu vực màu xám. – Cocoadelica

Trả lời

26

Đối với các ứng dụng để gắn vào các dịch vụ như địa điểm, lần đầu tiên họ yêu cầu truy cập vào hệ điều hành sẽ ném ra cảnh báo với các nút liên kết đến Settings. Đây không phải là hành động của ứng dụng, nhưng do sự bảo mật cơ bản của hệ điều hành.

iOS 6 đã xóa khả năng tự làm điều này như bạn đã đề cập.

16

Bạn có thể mở ứng dụng cài đặt theo chương trình trong iOS8, chứ không phải trong các phiên bản iOS cũ hơn.

Trong Swift:

UIApplication.sharedApplication().openURL(NSURL(string:UIApplicationOpenSettingsURLString)); 

Swift 4:

if let url = NSURL(string: UIApplicationOpenSettingsURLString) as URL? { 
    UIApplication.shared.openURL(url) 
} 

Trong Objective-C

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]]; 
+4

Sao chép xuống [một số câu trả lời] (http://stackoverflow.com/a/24952919/818506) là một loại đạo văn, tôi sẽ nói. –

+2

Đây là chương trình ... thế giới của bản sao dán bro .. – Rajneesh071

+3

Btw, chúng tôi không ** tất cả ** biết rằng – thomers

Các vấn đề liên quan