2012-07-11 123 views
0

當我的應用程序加載時,它充當安裝程序。當你點擊「安裝」按鈕時,應用程序就完成了它的任務。它會安裝所需的內容,然後您可以繼續使用該應用程序。我的應用程序工作正常,但每當我關閉多任務欄的應用程序時,該應用程序就會再次像原始安裝程序一樣加載。因此,每當應用程序再次加載時,用戶不得不重新安裝。我希望用戶只需安裝一次該項目,即可關閉該應用,然後再次使用該內容而無需重新下載。我知道我需要爲此使用NSUserDefaults,但我也希望「安裝」按鈕隨安裝程序一起永久消失。 注意這不是一家商店。這僅僅是一個安裝內容的測試應用程序,我可以繼續使用。我怎麼能做到這一切?任何幫助表示讚賞。謝謝!應用程序關閉後按鈕保持隱藏狀態

回答

1

執行了幾次這樣的事情後,最好到detect first launch,並根據它顯示安裝程序屏幕。但是,有些情況下用戶不完全完成安裝,並且應用程序以某種方式出現背景或死亡。在這種情況下,您需要存儲另一個記錄用戶是否已完成安裝的變量。

最簡單的方法是在最初沒有完成安裝的情況下將模式視圖控制器作爲一種嚮導來呈現,並且如果是通常情況下加載主屏幕。

+0

與其檢測到首次啓動,他應該檢測到他提到的「安裝」的完成情況。如果他總是強迫用戶在第一次啓動時安裝,那麼我想它大致相同...... – 2012-07-11 05:07:23

+0

是的,我在帖子中說明了這一點。 – CodaFi 2012-07-11 05:09:48

0

只需在安裝之前查詢用戶默認值。如果它沒有安裝,然後安裝任何需要的,然後設置用戶的默認值!

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
NSString *isInstalled = [defaults objectForKey:@"installed"]; 
if(![isInstalled isEqualToString: @"true"]) { 
    //do installation here 

    NSString *hasUserInstalled = @"true"; 
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
    [defaults setObject:hasUserInstalled forKey:@"installed"]; 
    [defaults synchronize]; 
} 
+0

可能更好使用boolForKey ..感覺更安全。雖然仍然達到相同的效果:) – bgoers 2012-07-11 05:03:58

+0

我確實看到你要去哪裏用這種方法,但安裝方法太多,他們不能在「//安裝在這裏」部分調用。我有幾個按鈕出現在安裝程序中,在殺死應用程序時需要隨安裝程序永久消失。我該如何做到這一點,以便在應用程序被殺後,按鈕隱藏起來幾乎隱藏了安裝程序?我只是把它作爲一個有趣的測試應用程序,可能用於實際應用程序,所以它不像我將這個副本提交給App Store。 – 2012-07-11 05:36:20

+0

這一切都將處理這種檢查NSUserDefaults的方法。但是,這一切都將取決於你如何決定實施它。在你的情況下,我會做同樣的檢查,但檢查相反的情況 - 如果isInstalled等於true,則執行myInstallerButton.hidden = YES。否則,按鈕保持可見狀態,用戶可以點擊它! – bgoers 2012-07-11 16:13:15

相關問題