Hi Graham, figured it out. If I replace the app, and while developing I do that 
pretty frequently, the first “WillBecomeActive” does not get detected because 
the app has not yet registered for notifications. So over 48 hours I saw 3 such 
events and while I did not record the times I installed, if I replaced it 3 
times then this data would make perfect sense. I hope that is clear, and if not 
feel free to ask me to explain it better. But I think the data indicate that 
everything is working A-OK.

Sorry for any confusion I might have caused, but at least I got to the bottom 
of my own problem :)  I’ll send Elanor an email to confirm and let her know. 

Mark


> On Nov 25, 2020, at 1:00 AM, Mark Smith <marksmith...@gmail.com> wrote:
> 
> Thanks Graham,
> 
> Nope, just checked and my quotes are not curly. Over a 48 hour period of 
> testing, with multiple startups and shutdowns (33 in total, these were mostly 
> in/out of background not actual exits and restarts) I only saw 3 instances of 
> a double shutdown notification (applicationWillResignActiveNotification) 
> without an intervening startup (applicationDidBecomeActiveNotification) so 
> it’s evidently a very small problem (10% ?). I’ll send the log to Elanor to 
> let her know. From my perspective, not something I am going to fret about. 
> 
>> On Nov 24, 2020, at 10:18 PM, Graham Samuel via use-livecode 
>> <use-livecode@lists.runrev.com> wrote:
>> 
>> An very timely and helpful update from Elanor at the mother ship. My 
>> problems with mergNotify were there because the string representing the 
>> specific notification “UIApplicationWillResignActiveNotification” was in 
>> curly quotes! I literally didn’t see this, and the script editor didn’t 
>> report an error. It might have done something with the colorisation, but as 
>> I’m partly colour blind I never take much notice of this aspect of scripts. 
>> How the quotes got there is a mystery, as I thought I had simply copied 
>> these lines of script from an earlier mail by Henry Lowe, but apparently 
>> not. So, problem solved at the price of my red face.
>> 
>> The question about what being “in the background” actually means remains, 
>> and I hope to have an answer for that soon. If I get any info I will send it 
>> to the list as a new topic.
>> 
>> Elanor also said:
>> 
>>> I don't know if the issue Mark is seeing is the same one but if you are 
>>> replying on the list just ask him to contact Support and I'll take a look 
>>> at his stack too.
>> 
>> 
>> 
>> Graham
>> 
>>> On 23 Nov 2020, at 15:23, Graham Samuel via use-livecode 
>>> <use-livecode@lists.runrev.com> wrote:
>>> 
>>> Thanks Mark
>>> 
>>> Well, it does seem to be a bug, but is it in iOS or LC? It is weird that 
>>> you get inconsistent results. Mine are more consistent, but still wrong. I 
>>> plan to write to the mother ship and ask their opinion.
>>> 
>>> I am also getting perhaps related inconsistencies in the use of 
>>> locationChanged messages to get GPS readings, or I think I am. It looks 
>>> like sometimes when the app goes into the background it switches off the 
>>> effect of
>>> mobileStartTrackingSensor "location"
>>> 
>>> which a script can only do by calling mobileStopTrackingSensor.
>>> 
>>> The apparent effect is that GPS readings just stop coming in, although 
>>> other activity (in my case, a stopwatch-like timer) continues without a 
>>> break. I am haunted by the idea that I’ve made some mistake in coding, of 
>>> course, but it I haven’t then I need to know somehow that the readings have 
>>> stopped and correct the situation before gaps appear in the record, i.e. 
>>> within about a second. Can’t do that if I’m not notified of the switch to 
>>> the background.
>>> 
>>> I have tried to look at the iOS SDK documentation but have become 
>>> terminally confused - it seems to suggest that apps that go into the 
>>> background are suspended and ‘do not receive events’. If that’s so, how do 
>>> timer and navigation apps work? They still seem to be doing stuff even 
>>> while the user is using another app to read the news, make a phone call or 
>>> whatever. There must be a state between being active and just sitting in 
>>> RAM and doing nothing. What is that state called and how does one invoke it?
>>> 
>>> Over my head...
>>> 
>>> Graham
>>> 
>>>> On 22 Nov 2020, at 13:30, Mark Smith <marksmith...@gmail.com> wrote:
>>>> 
>>>> Hi Graham,
>>>> 
>>>> So, apparently not 100% accurate but here are the results of some late 
>>>> hour testing yesterday (I was also interested in evaluating something I 
>>>> needed to occur around the time the date changed, hence the late hour 
>>>> testing.). But as you can see, I had 3 ResignActiveNotifications before 
>>>> the first DidBecomeActive occurred. 
>>>> 
>>>> 2:33:58 PM UIApplicationWillResignActiveNotification detected in SS
>>>> 
>>>> 11:22:40 PM UIApplicationWillResignActiveNotification detected in SS
>>>> 
>>>> 11:25:50 PM UIApplicationWillResignActiveNotification detected in SS
>>>> 
>>>> 11:33:19 PM UIApplicationDidBecomeActiveNotification detected in SS
>>>> 
>>>> 11:33:26 PM UIApplicationWillResignActiveNotification detected in SS
>>>> 
>>>> 1:21:48 AM UIApplicationDidBecomeActiveNotification detected in SS
>>>> 
>>>> 1:29:38 AM UIApplicationWillResignActiveNotification detected in SS
>>>> 
>>>> 
>>>> 
>>>>> On Nov 21, 2020, at 11:33 PM, Mark Smith <marksmith...@gmail.com 
>>>>> <mailto:marksmith...@gmail.com>> wrote:
>>>>> 
>>>>> Graham, I think there might be a problem. I just re-enabled this code in 
>>>>> one of my applications and the only thing I am seeing is the 
>>>>> WillResignActiveNotification message, and not the 
>>>>> DidBecomeActiveNotification message. Odd also because it is the exact 
>>>>> opposite of what you are seeing, so we are both seeing half of the story, 
>>>>> just not the same half :) I’ll keep it enabled and see if I can spot any 
>>>>> patterns. 
>>>>> 
>>>>> Mark
>>>>> 
>>>>> 
>>>>>> On Nov 20, 2020, at 9:48 PM, Graham Samuel via use-livecode 
>>>>>> <use-livecode@lists.runrev.com <mailto:use-livecode@lists.runrev.com>> 
>>>>>> wrote:
>>>>>> 
>>>>>> Thanks Mark
>>>>>> 
>>>>>> I tried exactly your suggestion. For me, the second notification appears 
>>>>>> exactly as you say, but the first one doesn’t. It’s likely that I made a 
>>>>>> silly mistake but I can’t see what it is. I put other stuff in the log, 
>>>>>> so it’s not just a case of the text being overwritten. Obviously the app 
>>>>>> does go into the background, since it is detected coming back to the 
>>>>>> foreground. This test was on the Xcode simulator, but I got essentially 
>>>>>> the same results on a real iPhone.
>>>>>> 
>>>>>> Strange.
>>>>>> 
>>>>>> Graham
>>>>>> 
>>>>>> 
>>>>>>> On 20 Nov 2020, at 17:21, Mark Smith <marksmith...@gmail.com 
>>>>>>> <mailto:marksmith...@gmail.com>> wrote:
>>>>>>> 
>>>>>>> Hi Graham, you can put something like the following in your handlers 
>>>>>>> and then check the log file to see when they were activated.  If you're 
>>>>>>> using Xcode you can download your “sandbox”  to your device. You’ll 
>>>>>>> find the log file in there. 
>>>>>>> put the long time && "UIApplicationWillResignActiveNotification 
>>>>>>> detected" & return after url ("file:" & specialFolderPath("documents") 
>>>>>>> & "/log.txt")
>>>>>>> 
>>>>>>> for example…
>>>>>>> 
>>>>>>> 10:39:05 AM UIApplicationWillResignActiveNotification detected in Stack 
>>>>>>> Script
>>>>>>> 10:57:23 AM UIApplicationDidBecomeActiveNotification detected in Stack 
>>>>>>> Script
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>>> On Nov 20, 2020, at 3:23 PM, Graham Samuel via use-livecode 
>>>>>>>> <use-livecode@lists.runrev.com <mailto:use-livecode@lists.runrev.com> 
>>>>>>>> <mailto:use-livecode@lists.runrev.com 
>>>>>>>> <mailto:use-livecode@lists.runrev.com>>> wrote:
>>>>>>>> 
>>>>>>>> Thanks to Mark Smith and Henry Lowe, I know that I’m supposed to set 
>>>>>>>> up mergNotify for two notifications as below.
>>>>>>>> 
>>>>>>>> I believe I’ve done this, and I’ve set a monitoring action (putting a 
>>>>>>>> text into a field) to show that these notifications have happened.
>>>>>>>> 
>>>>>>>> Of course it may be just me, but so far, I only seem to get the 
>>>>>>>> notification when the app comes back into the foreground (so logically 
>>>>>>>> it must have gone the background first),  but I just don’t get the 
>>>>>>>> ‘going in to the background' notification, or at least my monitoring 
>>>>>>>> doesn’t work.  Is there some trick of timing that I’ve missed?
>>>>>>>> 
>>>>>>>> Graham
>>>>>>>> 
>>>>>>>> 
>>>>>>>>> On 17 Nov 2020, at 20:07, HENRY LOWE via use-livecode 
>>>>>>>>> <use-livecode@lists.runrev.com <mailto:use-livecode@lists.runrev.com> 
>>>>>>>>> <mailto:use-livecode@lists.runrev.com 
>>>>>>>>> <mailto:use-livecode@lists.runrev.com>>> wrote:
>>>>>>>>> 
>>>>>>>>> <Thanks to Panos for this tip:>
>>>>>>>>> 
>>>>>>>>> On iOS use mergNotify as below. Works well for me.
>>>>>>>>> 
>>>>>>>>> on openStack
>>>>>>>>> mergNotify "UIApplicationWillResignActiveNotification"
>>>>>>>>> mergNotify "UIApplicationDidBecomeActiveNotification"
>>>>>>>>> end openStack
>>>>>>>>> 
>>>>>>>>> on UIApplicationWillResignActiveNotification pUserInfo
>>>>>>>>> // Your code before the app goes to background
>>>>>>>>> -- your code here to handle going to the background
>>>>>>>>> end UIApplicationWillResignActiveNotification
>>>>>>>>> 
>>>>>>>>> on UIApplicationDidBecomeActiveNotification pUserInfo
>>>>>>>>> // Your code after the app comes back to foreground
>>>>>>>>> -- your code here to handle your app becoming active
>>>>>>>>> end UIApplicationDidBecomeActiveNotification
>>>>>>>>> 
>>>>>>>>> Henry
>>>>>>>> 
>>>>>>>>> On 17 Nov 2020, at 23:39, Mark Smith via use-livecode 
>>>>>>>>> <use-livecode@lists.runrev.com <mailto:use-livecode@lists.runrev.com> 
>>>>>>>>> <mailto:use-livecode@lists.runrev.com 
>>>>>>>>> <mailto:use-livecode@lists.runrev.com>>> wrote:
>>>>>>>>> 
>>>>>>>>> And just a reminder that, under iOS, you’ll have to register to 
>>>>>>>>> receive a “ UIApplicationWillResignActiveNotification” message, and 
>>>>>>>>> then write a handler to respond to that (PS only register once in 
>>>>>>>>> your stack script — I learned the hard way). It’s documented under 
>>>>>>>>> mergNotify in the dictionary (with credit to Elanor for pointing this 
>>>>>>>>> out to me when my “on shutdownRequest” handlers were being ignored). 
>>>>>>>>> 
>>>>>>>>> Jacque, I believe this is what you are looking for to be notified 
>>>>>>>>> when you go into the background. I do some db cleanup at that time 
>>>>>>>>> and it seems to work.
>>>>>>>>> 
>>>>>>>>> Mark
>>>>>>>> 
>>>>>>>> _______________________________________________
>>>>>>>> use-livecode mailing list
>>>>>>>> use-livecode@lists.runrev.com <mailto:use-livecode@lists.runrev.com> 
>>>>>>>> <mailto:use-livecode@lists.runrev.com 
>>>>>>>> <mailto:use-livecode@lists.runrev.com>>
>>>>>>>> Please visit this url to subscribe, unsubscribe and manage your 
>>>>>>>> subscription preferences:
>>>>>>>> http://lists.runrev.com/mailman/listinfo/use-livecode 
>>>>>>>> <http://lists.runrev.com/mailman/listinfo/use-livecode>
>>>>>>> 
>>>>>> 
>>>>>> _______________________________________________
>>>>>> use-livecode mailing list
>>>>>> use-livecode@lists.runrev.com <mailto:use-livecode@lists.runrev.com>
>>>>>> Please visit this url to subscribe, unsubscribe and manage your 
>>>>>> subscription preferences:
>>>>>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>>>> 
>>>> 
>>> 
>>> _______________________________________________
>>> use-livecode mailing list
>>> use-livecode@lists.runrev.com
>>> Please visit this url to subscribe, unsubscribe and manage your 
>>> subscription preferences:
>>> http://lists.runrev.com/mailman/listinfo/use-livecode
>> 
>> _______________________________________________
>> use-livecode mailing list
>> use-livecode@lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your subscription 
>> preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
> 


_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to