2010-11-17 31 views
1

我對iOS開發非常陌生。我需要的應用程序非常簡單:只需打開Web瀏覽器並在啓動應用程序時轉到特定的URL。因此,在委託文件中,在didFinishLaunchingWithOptions中,我添加了一行代碼:iOS如何在使用UIApplication openURL啓動瀏覽器後退出當前應用程序

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@「http://www.google.com」]];

該應用可以打開Safari瀏覽器並轉到谷歌,但是當我按主頁按鈕並嘗試再次打開應用程序時,我有一個寫屏幕。我知道我必須在調用瀏覽器後釋放資源,但我不知道該怎麼做。

非常感謝。

+0

你不期待蘋果批准這件事嗎? – ceejayoz 2010-11-17 22:40:23

+0

我在模擬器(iOS 4.2 GM)中沒有問題。 – 2010-11-17 22:40:44

+0

@ceejayoz:Apple肯定不會批准這種行爲,但這可能只是實踐或個人/內部使用。 – 2010-11-17 22:41:57

回答

2

如果你的唯一目的是爲了推出一個網站,沒有必要爲一個應用程序(蘋果公司將不批准反正)。通過簡單地將apple-touch-icon.png圖片添加到您網站的根目錄,任何人都可以將該網站添加到他們的主屏幕並使其看起來像一個應用程序。

http://www.apple.com/webapps/whatarewebapps.html

http://developer.apple.com/library/safari/#documentation/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html

+0

我不認爲這是他唯一的目的。他的申請可能需要在使用前註冊,這就是爲什麼我在評論中建議提醒用戶他們將被轉移到網頁。 – 2010-11-17 23:14:11

4

正如其他人回答,您的應用程序可能不會被批准,如果這一切都是你的應用程序是要幹什麼,而是要回答你的問題:

你問題在於該應用程序在iOS 4上是多任務處理,而當應用程序從後臺回到焦點時-[UIApplicationDelegate didFinishLaunchingWithOptions:]不會再次被調用。 (更多關於應用程序代理方法如何與多任務here一起使用。)

如果這是您的應用程序要做的所有事情,那麼最簡單的解決方法是簡單地將opt out of multitasking

如果您不選擇退出,那麼您需要在使用多任務時調用的某個應用程序委託方法中放置相同的'openURL'邏輯,例如-[UIApplicationDelegate applicationDidBecomeActive:]

相關問題