yoyofr / modizer

iOS chiptune/module player
http://yoyofr.blogspot.com/p/modizer.html
132 stars 45 forks source link

Modizer asks to reset settings when it was autoclosed #13

Closed mistydemeo closed 12 years ago

mistydemeo commented 12 years ago

Modizer will display its post-crash "reset your settings" prompt after being autoclosed by the OS. In practice, I find this means that most times when I open it I'm asked whether I want to wipe my settings - which I don't! I wonder, is there a better way to handle this?

I'm using an iPod Touch October 2011 with iOS 5.0.1.

yoyofr commented 12 years ago

Hi,

Basically it depends on what is happening when an app is "autoclosed". It just the matter of calling [detailViewControlleriPhone saveSettings]; [detailViewControlleriPhone updateFlagOnExit]; //the one used to identify clean or dirty exit

Today they are both called when the app is closed "normally". So you just need to know what objective C method is called and add the 2 lines to exit cleanly.

rgds ym

Le 9 mars 2012 05:18, Misty De Meo a crit :

Modizer will display its post-crash "reset your settings" prompt after being autoclosed by the OS. In practice, I find this means that most times when I open it I'm asked whether I want to wipe my settings - which I don't! I wonder, is there a better way to handle this?

I'm using an iPod Touch October 2011 with iOS 5.0.1.


Reply to this email directly or view it on GitHub: https://github.com/yoyofr/modizer/issues/13

mistydemeo commented 12 years ago

According to Apple's developer docs, there is no guaranteed method that will be called to notify an app of termination if it's inactive; applicationWillTerminate is only guaranteed if the application is in the foreground and is going to be terminated. An inactive background application may receive a sigkill at any time.

So, updateFlagOnExit should always be set on applicationDidEnterBackground, rather than conditionally as it is right now - that may be all that's necessary to fix this.

yoyofr commented 12 years ago

HI,

it looks interesting, I need to find time to test this ;-)

rgds, ym

2012/5/29 Misty De Meo < reply@reply.github.com

According to Apple's developer docs:

http://developer.apple.com/library/ios/#DOCUMENTATION/iPhone/Conceptual/iPhoneOSProgrammingGuide/ManagingYourApplicationsFlow/ManagingYourApplicationsFlow.html

There is no guaranteed method that will be called to notify an app of termination if it's inactive; applicationWillTerminate is only guaranteed if the application is in the foreground and is going to be terminated. An inactive background application may receive a sigkill at any time.

So, updateFlagOnExit should always be set on applicationDidEnterBackground, rather than conditionally as it is right now

  • that may be all that's necessary to fix this.

Reply to this email directly or view it on GitHub: https://github.com/yoyofr/modizer/issues/13#issuecomment-5986409

mistydemeo commented 12 years ago

I've found the fix for this - pull request in #19.