2014-09-30 47 views
43

Tôi đang phát triển một ứng dụng cho iPhone, máy ảnh đang sử dụng máy ảnh để quét mã vạch và chụp ảnh. Khi chúng tôi không có quyền truy cập Máy ảnh và người dùng bật Quyền truy cập máy ảnh, ứng dụng gặp sự cố và mở lại.Lỗi ứng dụng khi bật Quyền truy cập máy ảnh từ Cài đặt iOS 8

Bạn có thể giúp tôi khắc phục sự cố này không?

Xin cảm ơn trước.

+3

Tôi nhận được cùng một vấn đề. Ứng dụng gặp sự cố khi người dùng bật nút truy cập máy ảnh trong trang cài đặt của ứng dụng trong iOS8 (hoặc từ bật -> tắt hoặc tắt - bật) – ken

+1

Tôi cũng gặp vấn đề tương tự .. – Mohit

+1

bạn đã tìm thấy giải pháp nào ... im cũng nhận được cùng một vấn đề ... tôi nghĩ rằng điều này có liên quan đến os, không phải mã của chúng tôi .. –

Trả lời

58

Lần đầu tiên bạn truy cập Máy ảnh, hệ điều hành sẽ tự động hiển thị lời nhắc quyền. Cho dù người dùng cho phép hoặc từ chối lời nhắc, ứng dụng của bạn sẽ tiếp tục chạy. Nếu người dùng tại một số điểm thay đổi các quyền của Sổ Địa chỉ, Lịch, Nhắc nhở, Máy ảnh hoặc Ảnh, iOS sẽ SIGKILL ứng dụng. Phải thực hiện hành động này để đảm bảo rằng ứng dụng không còn có bất kỳ dữ liệu nào được ủy quyền trước đó trong sở hữu của nó nữa. Khi người dùng di chuyển từ ứng dụng Cài đặt trở lại ứng dụng của bên thứ ba, ứng dụng sẽ khởi chạy từ đầu và giờ đây có trạng thái ủy quyền Bị từ chối. Theo kết quả của hành vi này, tôi có hai kiến ​​nghị:

  1. Phát hiện khi được sự cho phép bị từ chối và trình bày một số giao diện người dùng mà giải thích rằng người sử dụng cần để chuyển Settings cho phép ứng dụng. Trong iOS 8, bạn có thể đưa họ trực tiếp đến mục nhập của ứng dụng của bạn với [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]].

  2. Thực hiện một số loại khôi phục trạng thái để khi ứng dụng bị chấm dứt và khởi chạy lại, ứng dụng sẽ đưa người dùng trở lại chế độ xem/đối tượng địa lý trước đây có thể nhìn thấy.

Source (yêu cầu tài khoản nhà phát triển)

+0

Chỉ cần làm rõ, bạn có đề xuất rằng loại thay đổi cài đặt này không được thực hiện từ bên trong chính ứng dụng iOS, nhưng từ phần cài đặt của giao diện người dùng? Tôi là một bên thứ ba quan tâm và nó không phải là rõ ràng từ OP nơi thay đổi cài đặt đang được thực hiện. –

+0

Lần đầu tiên bạn truy cập Máy ảnh, hệ điều hành sẽ tự động hiển thị lời nhắc cho phép. Cho dù người dùng cho phép hoặc từ chối lời nhắc, ứng dụng của bạn sẽ tiếp tục chạy. Nếu người dùng tại một số điểm thay đổi quyền thông qua ứng dụng Cài đặt trong khi ứng dụng đang chạy, thì nó sẽ là 'SIGKILL'. – jszumski

+1

Tôi khuyên bạn nên phát hiện khi sự cho phép bị từ chối và trình bày một số giao diện người dùng giải thích rằng người dùng cần phải chuyển đổi quyền cho ứng dụng Cài đặt. Trong iOS 8, bạn có thể đưa họ đến đúng mục nhập của ứng dụng của bạn với '[[UIApplication sharedApplication] openURL: [URL NSNVớiString: UIApplicationOpenSettingsURLString]]' – jszumski

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