2015-08-31 14 views
12

tôi sử dụng openURL để mở ứng dụng B từ App Một, và tôi nhận được hộp thoại cảnh báo này "App Một muốn mở App B ", với hai nút," Mở "và" Hủy ".Làm thế nào để tránh "muốn mở" hộp thoại kích hoạt bởi openURL trong iOS 9.0

Nếu tôi nhấn "Hủy", ứng dụng B sẽ không mở và hộp thoại sẽ xuất hiện lại.

Nếu tôi nhấn "Mở", ứng dụng B sẽ mở và hộp thoại sẽ không xuất hiện lại.

Tôi muốn bằng cách nào đó để làm cho nó không xuất hiện để bắt đầu với. Tôi tự hỏi nếu có một chìa khóa tôi nên thêm vào app info.plist A 's để bỏ qua bước thoại khi làm openURL để ứng dụng B.

Bất kỳ ý tưởng nào?

Cập nhật:

Sau khi kiểm tra, tôi không thể tìm ra một giải pháp cho vấn đề của tôi. Có vẻ như hộp thoại này sẽ xuất hiện bất kể. Tôi hy vọng Apple sẽ thêm tùy chọn để xử lý nó tự động như thể cả hai ứng dụng là của tôi, một cách logic, có nên không có bất kỳ hộp thoại để xác nhận chuyển đổi giữa chúng ...

+1

Chào Roy, sẽ tuyệt vời nếu bạn cập nhật tiêu đề câu hỏi của mình ở dạng câu hỏi. Tôi không chắc chắn những gì bạn đang thực sự yêu cầu, tiêu đề hiện tại là nhiều hơn một quan sát. – Zorayr

Trả lời

3

Sau khi kiểm tra hàng giờ đồng hồ, tôi không thể tìm ra một giải pháp cho vấn đề của tôi. Có vẻ như hộp thoại này sẽ xuất hiện bất kể điều gì ... Tôi hy vọng Apple sẽ thêm tùy chọn để xử lý nó trong info.plist của ứng dụng như thể cả hai ứng dụng đều là của tôi, một cách hợp lý, sẽ không có hộp thoại nào để xác nhận chuyển đổi giữa chúng.

+0

Tôi cũng cần bỏ qua hộp thoại đó để di chuyển giữa các ứng dụng của riêng mình một cách tự do. Tôi rất vui khi biết bạn có tìm được giải pháp hay không. –

+0

Không có giải pháp tại thời điểm này. –

3

http://www.macstories.net/linked/ios-9-bringing-changes-to-url-schemes/

Bắt đầu trên iOS 9, ứng dụng sẽ phải khai báo sơ đồ URL nào họ muốn có thể kiểm tra và mở trong các tệp cấu hình của ứng dụng khi ứng dụng được gửi tới Apple. Về bản chất, đây chỉ là một danh sách trắng mà chỉ có thể được thay đổi hoặc thêm vào bằng cách gửi bản cập nhật cho Apple.

openURL/canOpenURL đã thay đổi trong iOS9 do quyền riêng tư của người dùng. Tôi khuyên bạn nên đọc http://awkwardhare.com/post/121196006730/quick-take-on-ios-9-url-scheme-changes

Bây giờ, người dùng sẽ thấy lời nhắc này khi bạn yêu cầu quyền theo yêu cầu quyền khác. Đây là một thay đổi hệ điều hành và các ứng dụng, bao gồm các ứng dụng cốt lõi như tin nhắn bây giờ yêu cầu sự cho phép khi mở một lược đồ URL tùy chỉnh cho lần đầu tiên.

Bạn cũng có thể đạt được những gì bạn đang cố gắng làm bằng Universal Liên kết - https://developer.apple.com/library/prerelease/ios/documentation/General/Conceptual/AppSearch/UniversalLinks.html#//apple_ref/doc/uid/TP40016308-CH12

+0

Cảm ơn, tôi đã thêm nhận xét iOS 9. Tuy nhiên, điều này không trả lời câu hỏi của tôi. Tôi nhận thức được hộp thoại mới này, nhưng không chắc chắn làm thế nào để nó không xuất hiện ... –

+0

Nó sẽ chỉ xuất hiện lần đầu tiên mỗi ứng dụng gọi chương trình URL tương ứng, bạn có nói nó hiển thị mọi lúc không? Bạn đã thêm lược đồ vào plist qua khóa LSApplicationQueriesSchemes chưa? –

+0

Nó không hiển thị mọi lúc, tuy nhiên, tôi đang cố gắng tránh nó ngay cả lần đầu tiên ... Thêm LSApplicationQueriesSchemes mảng vào thông tin.plist không có gì để làm với nó. Nó sẽ chỉ cho phép phương thức canOpenURL kiểm tra xem lược đồ url được liệt kê có được cài đặt trên thiết bị hay không. Nó sẽ không thay đổi hành vi của hộp thoại cụ thể này. –

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