2012-03-14 39 views
12

Câu hỏi đơn giản, tôi đang phát triển một ứng dụng sẽ đăng ký Lược đồ URL của riêng nó. Tôi dự định khởi chạy ứng dụng bằng QRCode qua đầu đọc QRCode yêu thích của một người.Lược đồ URL cho ứng dụng chưa được cài đặt

Câu hỏi của tôi: nếu ứng dụng của tôi chưa được cài đặt trên iPhone/iPad, điều gì sẽ xảy ra? Liệu họ có được chuyển hướng đến App Store để tải xuống ứng dụng của tôi không? Hay nó sẽ thất bại?

Hiện tôi không có máy Mac của mình, nếu không tôi sẽ xây dựng một ứng dụng thử nghiệm để khởi chạy URL cho ứng dụng mà tôi biết chưa được cài đặt. Nếu tôi quay lại máy Mac của mình trước khi ai đó trả lời, tôi sẽ cập nhật câu hỏi với kết quả của mình.

Trả lời

11

Nếu bạn liên kết trực tiếp với sơ đồ ứng dụng của mình, nó sẽ không thành công. Tuy nhiên, nếu bạn liên kết đến một trang trên trang web có mã sẵn có on this StackOverFlow question, nó sẽ cố gắng mở ứng dụng của bạn, sau đó cửa hàng ứng dụng nếu nó không thành công.

6

Bạn chỉ cần đọc giá trị trả lại của phương thức -(BOOL)openURL:(NSURL*)url. Nếu nó KHÔNG, nó có nghĩa là ứng dụng đích không được cài đặt. Các mã sau đây đưa ra một ví dụ sử dụng url chương trình NAVIGON:

NSString *stringURL = @"navigon://coordinate/NaviCard/19.084443/47.573305"; 
NSURL *url = [NSURL URLWithString:stringURL]; 
if([[UIApplication sharedApplication] openURL:url]) { 
    NSLog(@"Well done!"); 
} else { 
    stringURL = @"https://itunes.apple.com/it/app/navigon-europe/id320279293?mt=8"; 
    url = [NSURL URLWithString:stringURL]; 
    [[UIApplication sharedApplication] openURL:url]; 
} 

Cập nhật Swift 3

var stringURL = "navigon://coordinate/NaviCard/19.084443/47.573305" 
var url = URL.init(string: stringURL) 
if !UIApplication.shared.canOpenURL(url!) { 
    stringURL = "https://itunes.apple.com/it/app/navigon-europe/id320279293?mt=8" 
    url = URL.init(string: stringURL) 
} 
if #available(iOS 10.0, *) { 
    UIApplication.shared.open(url!, options: [:], completionHandler: nil) 
} else { 
    UIApplication.shared.openURL(url!) 
} 
Các vấn đề liên quan