2012-05-11 39 views
8

Tôi đang tạo một ứng dụng nơi người dùng có thể chia sẻ dữ liệu bằng cách gửi email cho nhau. Trong thư này có liên kết đến ứng dụng của tôi (tôi đã tạo lược đồ URL cho ứng dụng của mình) Nhưng nếu người dùng không có ứng dụng của tôi trên iPhone, thì khi nhấp vào liên kết, sẽ không có gì xảy ra.Sơ đồ url: Mở ứng dụng hoặc Appstore từ thư

Câu hỏi của tôi: Làm thế nào tôi có thể làm để khởi động ứng dụng của tôi khi ứng dụng được cài đặt trên iPhone của người dùng và khởi động Appstore hoặc một trang web nếu ứng dụng này không được cài đặt

Cảm ơn bạn

+0

Có vẻ như bạn cần hai liên kết. – paulmelnikow

+0

Giống như "nếu bạn không có ứng dụng này, hãy nhấp vào đây"? –

+0

Hm, có vẻ như có một số khả năng khác: http://stackoverflow.com/questions/1108693/is-it-possible-to-register-a-httpdomain-based-url-scheme-for-iphone-apps- như/1109200 # 1109200 – paulmelnikow

Trả lời

6

canOpenURL là những gì bạn đang tìm kiếm.

Dưới đây là một ví dụ cho ra mắt ứng dụng twitter:

NSURL* twitterURL = [NSURL URLWithString:[NSString stringWithFormat:@"twitter:@%@", twitterUser]]; 

if ([[UIApplication sharedApplication] canOpenURL:twitterURL]) { 
    [[UIApplication sharedApplication] openURL:twitterURL]; 
} else { 
    NSURL* url = [NSURL URLWithString:@"http://itunes.apple.com/us/app/twitter/id333903271?mt=8"]; 
    [[UIApplication sharedApplication] openURL:url]; 
} 

EDIT

Nếu bạn muốn làm điều này từ một trang web hoặc email html, bạn tìm thấy câu trả lời của bạn ở đây: https://stackoverflow.com/a/627942/550177

và tại đây: https://stackoverflow.com/a/1109200/550177

+1

OP đang hỏi về một liên kết trong Mail.app. – paulmelnikow

+0

Tôi đã thử hai liên kết nhưng tôi không thể thực hiện window.location = ... để hoạt động. Bạn có chắc nó hoạt động trong email không? –

+0

Không, tôi không biết cách nhúng Mã JavaScript vào email HTML. Lấy làm tiếc. – Felix

3

Câu trả lời ở trên đã lỗi thời. Để mở ứng dụng nếu ứng dụng được cài đặt nhưng an toàn rơi trở lại App Store, tôi khuyên bạn nên tạo liên kết sâu Chi nhánh (https://branch.io) thay vì cố tự xây dựng ứng dụng vì có rất nhiều trường hợp cạnh và yêu cầu Javascript tiếp tục thay đổi với mọi phiên bản iOS mới.

Tuy nhiên, nếu bạn muốn tự mình lưu trữ, bạn có thể sử dụng đoạn mã sau đây myapp:// là lược đồ URI cho ứng dụng của bạn và itms-apps://itunes.apple.com/app/yourappid là URL cửa hàng ứng dụng của bạn.

window.location = "myapp://"; 
setTimeout(function() { 
    window.location = "itms-apps://itunes.apple.com/app/yourappid"; 
}, 500); 

Bạn có thể gọi đây là trong window.onload và nó sẽ cố gắng để mở ứng dụng khi tải trang, sau đó một cách an toàn rơi trở lại đến cửa hàng 500 mili giây sau đó.

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