2012-01-26 26 views
5

Tôi đang làm việc trên một ứng dụng quản lý thức truy cập URL của riêng tôi vì vậy tôi thực hiện gọi lại:Làm cách nào để khởi chạy lại ứng dụng đã mở lược đồ URL tùy chỉnh của tôi?

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions (NSDictionary *)launchOptions 
{ 
    // Get our launch URL 
    if (launchOptions != nil) 
    { 
     // Launch dictionary has data 
     NSURL* launchURL = [launchOptions objectForKey: UIApplicationLaunchOptionsURLKey]; 

     // Parse the URL 
     NSString* hostString = [launchURL host]; 

     blah blah blah... 

Nó hoạt động rất đẹp, nhưng tôi cần phải khởi động ứng dụng gọi (ví dụ: các ứng dụng mở URL). Vì vậy, câu hỏi của tôi ở đây là, là nó có thể?

Tôi đã chơi với UIApplicationLaunchOptionsSourceApplicationKey nhưng tôi không thể khởi chạy lại ứng dụng bằng ID gói ứng dụng của ứng dụng. Tôi có thể?

Tôi cũng đã thử không có giấy tờ launchApplicationWithIdentifier: của UIApplication, nhưng tôi cần một giải pháp thực sự và có vẻ như giải pháp thay thế chỉ hoạt động trong Trình mô phỏng.

Bất kỳ ý tưởng nào? Cảm ơn bạn!

+0

Tôi đang cố gắng thực hiện một điều rất giống, sau khi mở ứng dụng của mình từ Safari, tôi muốn chuyển về Safari (không tải URL mới). Tôi chỉ muốn mở Safari như thể tôi đã chuyển sang Safari bằng cách sử dụng Task Switcher. Xin bạn có thể xây dựng trên "phương pháp không có giấy tờ" mà bạn đã sử dụng để đạt được điều này? – Plasma

+0

Một giải pháp thay thế trên iPad là làm cho người dùng biết về cử chỉ tích hợp: * Vuốt ngang bốn ngón tay trên màn hình để trở về ứng dụng trước *. Dường như chỉ có iPad, không phải trên thiết bị cầm tay. –

Trả lời

2

Cách duy nhất là có cả hai ứng dụng đều hỗ trợ lược đồ URL tùy chỉnh. Sau đó, bạn đã nhúng URL người gọi vào URL của ứng dụng khác.

Ví dụ: giả sử App2 muốn gọi App1 theo cách để App1 có thể "gọi lại" cho App2. Nó sẽ tạo ra và mở một URL như sau:

app1://?caller=app2%3A%2F%2Fblabla 

Khi bạn giải mã các caller phần bạn sẽ lấy lại chuỗi app2://blabla mà bạn có thể sau đó một lần nữa mở với openURL: để "gọi lại".

+0

Vâng, tôi e rằng không thể không có mỗi ứng dụng hỗ trợ lược đồ URL tùy chỉnh. Chỉ muốn xả hết mọi khả năng, nhờ DarkDust! – zapador

+1

Nên có một số cách khác .. bạn đã thấy ứng dụng facebook ... chúng tôi đi đến ứng dụng facebook để xác thực và sau đó ứng dụng facebook mở ứng dụng của chúng tôi .. ngay cả khi ứng dụng của chúng tôi không có sơ đồ url tùy chỉnh .. – Saurabh

+2

Đó là vì ứng dụng xác thực với facebook SSO (đăng nhập một lần) đăng ký lược đồ URL tùy chỉnh của họ với facebook. – Lance

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