我的應用程序的最低支持iOS版本是iOS5。而且我沒有做任何保存和恢復的狀態。 它在我自己的iphone4上運行良好,但是有些用戶抱怨說,當他們接聽電話或更改其他應用後,應用會重置。
因此,我認爲狀態恢復更爲嚴重,我想將其添加到我的應用程序中。 但是,我有圖像專輯功能,所以我打電話給ALAssetLibrary。
我需要創建完全相同的縮略圖視圖。
我有一些背景操作operationQueue,所以我需要知道他們的狀態並添加未完成的後臺操作。這有點複雜。 這是我的問題。
1.我沒有找到有用的示例代碼,項目。 (WWDC2012中的session208,但他們沒有在WWDC示例代碼發佈中發佈代碼),你知道嗎?
2.最好的辦法是什麼?關注iOS6還是自己製作?
有什麼區別。
3.對於ALAssetlibrary,查看圖像縮略圖,我如何實現狀態保存和恢復?iOS6應用程序狀態保存和恢復
2
A
回答
2
絕對使用蘋果的API,不要重新發明輪子。 WWDC 2012 session about this使用WWDC 2012應用作爲示例來展示該功能,但從未有任何演示項目可以與開發人員共享。然而,他們已經(最近)發佈了演示來演示它,你可以在這裏找到它:http://developer.apple.com/library/ios/#samplecode/StateRestore/Introduction/Intro.html
這聽起來像你的狀態是複雜的,我不確定你是否真的想恢復這些後臺操作。您可能會發現將用戶還原到應用程序更穩定的部分會更好。
對於您的ALAssetlibrary問題,您可以在您的視圖控制器的encodeRestorableStateWithCoder:
實施中將ID保存到當前圖像中,確保您閱讀了文檔,您需要符合協議,設置恢復類如果你在代碼或使用xibs(不使用故事板)......你會保存ID做這樣的事情:
NSString * const ImageReferenceIDKey = @"ImageReferenceID";
- (void)encodeRestorableStateWithCoder:(NSCoder *)coder
{
NSString *objectID = nil; // get some ID that can relocate your image
[coder encodeObject:objectID forKey:ImageReferenceIDKey];
[super encodeRestorableStateWithCoder:coder];
}
- (void)decodeRestorableStateWithCoder:(NSCoder *)coder
{
[super decodeRestorableStateWithCoder:coder];
NSString *objectID = [coder objectForKey:ImageReferenceIDKey];
// get into the ALAssetlibrary and use the objectID to restore which image you had.
}
通知我打電話super
最後的編碼方法,而是先在解碼方法。
你應該非常小心地改變用戶訪問他們照片的隱私,不要撞到他們,如果你試圖恢復照片,確保你仍然有權這樣做,或者你可能會崩潰。
相關問題
- 1. 應用程序狀態保存/恢復
- 2. 應用程序狀態保存和恢復中的MonoTouch
- 3. iOS 6保存/恢復應用程序狀態功能
- 4. Android應用程序狀態從啓動狀態恢復 - 恢復狀態
- 5. CoreBluetooth:測試狀態保存和恢復
- 6. 保存和恢復活動狀態?
- 7. 狀態保存和恢復問題
- 8. 保存和恢復視圖狀態android
- 9. 在MacOs上保存和恢復狀態
- 10. Android上的狀態保存和恢復?
- 11. 如何保存和恢復Webview狀態?
- 12. 不使用故事板的應用程序狀態保存和恢復?
- 13. 恢復應用程序的狀態
- 14. 應用程序暫停/恢復狀態
- 15. 保存程序的狀態以允許它恢復
- 16. 測試應用程序狀態保存/恢復不Xcode的連接
- 17. 的Android - 保存/恢復狀態FragmentStatePageAdapter
- 18. 無法恢復保存的Virtualbox狀態
- 19. 保存/恢復PHP的rand狀態()
- 20. 保存並恢復滑塊狀態
- 21. 保存並恢復vim狀態
- 22. android webview的保存/恢復狀態
- 23. JSF保存/恢復視圖狀態
- 24. 如何使UWP應用程序掛起和恢復狀態
- 25. 保存Android應用程序狀態
- 26. android應用程序保存狀態
- 27. 保存AngularJS應用程序的狀態
- 28. 保存應用程序狀態
- 29. 保存應用程序的狀態
- 30. Android應用程序 - 保存狀態