PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → IOS MapFollowMovement => Crashes
IOS MapFollowMovement => Crashes
Débuté par Steve.M, 13 nov. 2017 21:53 - 8 réponses
Posté le 13 novembre 2017 - 21:53
Currently I'm working on a Windev Mobile (Version 22) project. We're targetting the IOS platform and we're heavily using the google maps control.

After the Google maps control initialized we invoke the GPSFollowMovement immediately followed by the MapFollowMovement function.

The purpose of the MapFollowMovement is showing the current location on the map. In our test environment (all our tests are done on a iphone with IOS 11.1 firmware),, the app is crashing the moment you tap on the current location => blue marker.

Exception in Xcode: SIGABRT in Thread 1

We declared our MapFollowMovement function in this way:
MapFollowMovement(Mapview, true)

Are there any other developers who have struggled with this issue?
It seems to me that this function isn't working the way it is supposed to be?
Posté le 13 novembre 2017 - 23:19
I try to answer this.

I guess you have to apply MapEndOfMove(MAP_Position) then use
MapDisplayPosition(MAP_Position, MyPosition) as your marker is active and
keep moving and by the time you hit the marker, the geoPostion has shifted.

If your iPad/iphone is fast enough, try to save last image of the map for the displayedPosition or just keep storing all geoPosition and call the map on
other tab screen so that you could see exact postion of map at time T.

HTH

King
Posté le 14 novembre 2017 - 15:01
Hi King

Thanks for your answer.

How exactly do you get/call the object from the current blue position marker?

I already declared the MapEndOfMove function, this is triggered the moment you close the app.

Plan B was calling the "callback" function from MapFollowMovement (the 3rd optional param), but this throws an ER_BAD_ACCESS exception in Xcode. So I removed the callback (the app crashes immediatly after initializing...)=> this is even worst :rp:

In that callback function you normally could read the geoposition coords
Posté le 14 novembre 2017 - 15:02
All feedback is welcome :), this issue is driving me nuts :drink:
Posté le 14 novembre 2017 - 18:20
Steve

My actual fleet app is diff from yours as I have a controller app that could see / min
on demand the map of each driver if needed ie all geoPositions are concurrenlty
saved in hfSQL cloud.

I wonder if you keeps not applying MapEndOfMove but do keep tracks of
geoPosition in hfSQL and when hitting the mark or any touch that will bring
you to next tab screen then try show the map of that point and tab back screen
to see if the mark is still moving or not. Let me know if this tricks work for you.

HTH

King
Posté le 15 novembre 2017 - 16:07
Hi King

Still no succes :(

The function still crashes. I think it is something in the framework...

I did try another approach
With GPSFollowMovement it is possible to update the location via an image. Altough this approachment isn't as good as MapFollowMovement. Because the map isn't auto rotating with every move.
Posté le 15 novembre 2017 - 21:32
Could it be that not all the lib files are present??

In the console debugger at Xcode i see that an exception is thrown at a lib file?
Posté le 15 novembre 2017 - 21:41
Steve

Just dump all this to iMac

02/21/17 05:02 PM 36,439,568 libwd220uni.a
03/17/17 10:57 AM 1,119,304 libwd220mat.a
06/23/17 04:16 PM 20,138,992 libwd220sql.a
06/26/17 11:32 AM 25,167,336 libwd220xml.a
06/28/17 05:05 PM 7,117,824 libwd220zip.a
06/28/17 05:29 PM 32,329,904 libwd220ggl.a
06/29/17 11:06 AM 6,090,624 libwd220device.a
07/04/17 11:50 AM 7,009,192 libwd220pdf.a
07/07/17 03:03 PM 5,142,272 libwd220barc.a
07/10/17 03:55 PM 10,697,328 libwd220core.a
07/12/17 01:57 PM 51,810,424 libwd220hf.a
07/12/17 05:19 PM 14,277,168 libwd220cpl.a
07/21/17 04:28 PM 6,464,728 libwd220rtf.a
09/05/17 03:37 PM 58,711,920 libwd220vm.a
09/11/17 06:07 PM 8,621,592 libwd220std.a
09/13/17 09:11 AM 47,647,456 libwd220com.a
09/14/17 01:18 PM 11,972,264 libwd220pnt.a
09/14/17 01:20 PM 11,021,192 libwd220grf.a
09/15/17 09:57 AM 31,948,304 libwd220prn.a
09/20/17 01:17 PM 4,172,392 libwd220rpl.a
09/25/17 11:52 AM 144,149,768 libwd220obj.a
09/27/17 03:28 PM 14,205,072 libwd220mdl.a

from C:\WINDEV Mobile 22\Programs\Framework\iOS\Lib
to see how it goes.

Did you add any extra codes of XCode written by yourself?

ps Apple is apply full scale of SWIFT in new devices and might
throw exception for XCODE stuff.
Wonder when pcSoft comes with SWIFT compiler...



King
Posté le 07 mars 2018 - 22:11
Hi, i had same problem, try put MapEndOfMove after MapFollowMovement

IF MapFollowMovement(MAP_NoName1,True,GPSCurrentLocation) = true THEN
MapEndOfMove(MAP_NoName1)
END

it work's for me