|
Impossible de valider sur appstore si géolocalisation et vous ? |
Iniciado por MeMess, mai., 25 2022 1:47 PM - 36 respostas |
| |
| | | |
|
| |
Membro registado 191 mensagems Popularité : +3 (3 votes) |
|
Publicado em maio, 25 2022 - 1:47 PM |
Bonjour,
J'ai déjà publié il y a 10 jours, mais je n'arrive pas à croire que je suis le seul dans cette situation... et j’attends toujours le retour du support...
J'essaie de valider une appli qui a besoin d'utiliser la localisation, jusque là rien de foufou Elle est validée dans le play store mais pour l'app store, j'ai le souci suivant :
Ces brigands de chez Apple testent l'appli et reste bloqués en n'autorisant pas à utiliser la position de l'appareil... Du coup dès qu'il lance l'appli, elle plante et ensuite elle ne se lance plus sauf à la désinstaller et le réinstaller
J'ai vu que dans l'aide de windev mobile, il est indiqué que pour ios :
Au premier lancement d'une fonction GPS, le système demande à l'utilisateur l'autorisation d'effectuer une géolocalisation. En cas de refus de l'utilisateur, toutes les fonctions GPS utilisées dans la suite de l'application échoueront (erreur fatale). Pour ré-autoriser l'utilisation du GPS pour cette application, il est nécessaire de modifier la configuration système de l'application.
J'ai tenté de gérer ça avec des :
CAS EXCEPTION: OuvreFenêtreMobile(Lafenetrequiditquecestpasbienderefuserlaccesalalocalisation) FIN: dans chaque bout de code qui gère l'accès à la localisation mais sans succès... J'ai aussi tenté la gestion automatique des exceptions mais sans succès.
Et vous vous faites comment avec les pommes et le GPS ? On ne peut pas diffuser une appli WM qui utilise le gps ?
Merci
Franck |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.346 mensagems Popularité : +93 (137 votes) |
|
Publicado em maio, 26 2022 - 9:27 AM |
Comment fait tu pour connaitre la réponse de l'utilisateur ? C'est cela qu'il faut programmer en Swift ou objective c Demande peut être a Pascal Boulesteix qui a une application gps iOS et Android |
| |
| |
| | | |
|
| | |
| |
Membro registado 964 mensagems Popularité : +16 (20 votes) |
|
Publicado em maio, 26 2022 - 9:47 AM |
Qu'est que tu veux dire par "Ces brigands de chez Apple testent l'appli et reste bloqués en n'autorisant pas à utiliser la position de l'appareil...".
Je présume qu'alors tu as des messages "en anglais" te disant pourquoi, voire de justifier l'emploi que tu en fais.
D'autre part, as-tu rempli les conditions d'utilisation de l'application pour justifier de l'emploi de la localisation ?
Si tu lances l'application déposée via xCode, àa fonctionne ?
Pour ma part, je n'ai pas livré une nouvelle version sur le AppStore depuis le 12 08 2021 mais je viens de finaliser une grosse évolution de l'application et je vais devoir la tester sous iOS. Je vous tiens au courant.
-- Pascal Boulesteix Applications Visiolittoral et WNat |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.346 mensagems Popularité : +93 (137 votes) |
|
Publicado em maio, 26 2022 - 9:49 AM |
| |
| |
| | | |
|
| | |
| |
Membro registado 191 mensagems Popularité : +3 (3 votes) |
|
Publicado em maio, 26 2022 - 6:30 PM |
@Popoy De quelle planète viens-tu ?
J'ai posé la question au support et je crois que tu viens de me trouver la solution... mais d’où vient cette fonction ? Même le support ne m'en parle pas ! et après moulte recherches je ne l'avais vu nulle part !
Je teste ça demain matin et je te tiens au jus Gros merci en attendant.
Franck |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.346 mensagems Popularité : +93 (137 votes) |
|
Publicado em maio, 26 2022 - 8:04 PM |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.346 mensagems Popularité : +93 (137 votes) |
|
Publicado em maio, 26 2022 - 8:12 PM |
En objective c
import Foundation import CoreLocation
if CLLocationManager.authorizationStatus() == .NotDetermined { //Code WL à appeler //Exemple mettre une variable globale a faux } Attention code incomplet car j'ai plus rien pour tester |
| |
| |
| | | |
|
| | |
| |
Membro registado 964 mensagems Popularité : +16 (20 votes) |
|
Publicado em maio, 27 2022 - 7:57 AM |
MeMess pourrais-tu répondre aux questions
Qu'est que tu veux dire par "Ces brigands de chez Apple testent l'appli et reste bloqués en n'autorisant pas à utiliser la position de l'appareil...". Je présume qu'alors tu as des messages "en anglais" te disant pourquoi, voire de justifier l'emploi que tu en fais.
-- Pascal Boulesteix Applications Visiolittoral et WNat |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.346 mensagems Popularité : +93 (137 votes) |
|
Publicado em maio, 27 2022 - 8:51 AM |
Pascal, je pense qu'ils (les testeurs de Apple) répondent non lorsqu'ils voient la fenêtre Qui demande la permission d'utiliser la géolocalisation Et du coup, son application plante au test. Il faut donc qu'il (Memess) prévoit ce cas dans son code pour éviter que ça plante D'où mon début de code |
| |
| |
| | | |
|
| | |
| |
Membro registado 191 mensagems Popularité : +3 (3 votes) |
|
Publicado em maio, 27 2022 - 12:28 PM |
Désolé, je ne pouvais pas répondre avant.
C'est tout à fait ça les testeurs répondent non à la permission d'utiliser la localisation et du coup l'appli plante, et il me refuse de la valider
J'ai pu reproduire ça en installant l'appli avec testflight car avec wmdev il n'y a pas le problème.
@Popoy je te confirme la fonction AppleTrackingEtatAutorisation() n'existe pas même pas en v27 103j, bizarre que cette page d'aide soit là sans implémenter la fonction
Je vais tenter ton astuce avec le code en C (une première pour moi) et je vous tiens au jus.
En tout cas GRAND MERCI |
| |
| |
| | | |
|
| | |
| |
Membro registado 191 mensagems Popularité : +3 (3 votes) |
|
Publicado em maio, 27 2022 - 5:22 PM |
Correctif
La fonction existe, c'est juste l'autocomplétion qui ne fonctionne pas ! |
| |
| |
| | | |
|
| | |
| |
Membro registado 964 mensagems Popularité : +16 (20 votes) |
|
Publicado em maio, 28 2022 - 9:13 AM |
Quand Apple refuse une application, il y a un compte rendu des tests ayant aboutis au refus. Dans ce compte rendu, il y a les recommandations à suivre pour passer l'étape qui achoppe. Quand il y a un refus, tu reçois un mail qui contient un lien vers le compte rendu. As-tu reçu ce mail et que dit-il ?
-- Pascal Boulesteix Applications Visiolittoral et WNat |
| |
| |
| | | |
|
| | |
| |
Membro registado 191 mensagems Popularité : +3 (3 votes) |
|
Publicado em maio, 28 2022 - 10:27 AM |
Réponse d'Apple :
Guideline 2.1 - Performance - App Completeness
We're looking forward to completing our review, but we are unable to continue because your app crashed during review. Please review the details below and the attached crash logs, then complete the next steps.
Steps leading to crash:
1. Launch the app 2. Deny the access to the user’s location 4. The app crashes. Afterwards, the app crashes on launch.
Review device details:
- Device type: iPad - OS version: iOS 15.4.1
Next Steps
1. Fully symbolicate the crash report. See Adding Identifiable Symbol Names to a Crash Report. 2. Match the crash report to a common pattern. Based on the pattern, take specific actions to further investigate the crash. See Identifying the Cause of Common Crashes. 3. Once you've identified the root causes of the crash, make the appropriate changes to the binary to resolve the issue. 4. Test your app on a device to ensure that it runs as expected. 5. Create and submit a new build for review.
Cerise sur le sunday... le crashlog :
{"app_name":"Ecoici","timestamp":"2022-05-15 23:49:04.00 -0700","app_version":"0.8.1","slice_uuid":"dd223a6b-95c6-3a91-97d9-beaffe631a81","adam_id":"1617657048","build_version":"0.8.1.9","platform":2,"bundleID":"com.luxprudentia.eco-ici","share_with_app_devs":0,"is_first_party":0,"bug_type":"309","os_version":"iPhone OS 15.4.1 (19E258)","incident_id":"0E21B489-4FCE-4702-AB27-373DAA3E94D6","name":"Ecoici"} { "uptime" : 150000, "procLaunch" : "2022-05-15 23:48:39.3891 -0700", "procRole" : "Foreground", "version" : 2, "userID" : 501, "deployVersion" : 210, "modelCode" : "iPad7,5", "procStartAbsTime" : 3600753785482, "coalitionID" : 1724, "osVersion" : { "isEmbedded" : true, "train" : "iPhone OS 15.4.1", "releaseType" : "User", "build" : "19E258" }, "captureTime" : "2022-05-15 23:49:03.4863 -0700", "incident" : "0E21B489-4FCE-4702-AB27-373DAA3E94D6", "bug_type" : "309", "pid" : 19812, "procExitAbsTime" : 3601330002831, "cpuType" : "ARM-64", "procName" : "Ecoici", "procPath" : "\/private\/var\/containers\/Bundle\/Application\/CB051CA4-1ADB-42A9-AB8E-49B799AADFD9\/Ecoici.app\/Ecoici", "bundleInfo" : {"CFBundleShortVersionString":"0.8.1","CFBundleVersion":"0.8.1.9","CFBundleIdentifier":"com.luxprudentia.eco-ici","DTAppStoreToolsBuild":"13F15"}, "storeInfo" : {"itemID":"1617657048","deviceIdentifierForVendor":"8667A5C7-F9B6-4071-8283-6D1895414BBB","thirdParty":true,"softwareVersionExternalIdentifier":"848119816"}, "parentProc" : "launchd", "parentPid" : 1, "coalitionName" : "com.luxprudentia.eco-ici", "crashReporterKey" : "8c54d8bde43f925368355c3a53ea98f2284a75dd", "isCorpse" : 1, "exception" : {"codes":"0x0000000000000000, 0x0000000000000000","rawCodes":[0,0],"type":"EXC_CRASH","signal":"SIGABRT"}, "ktriageinfo" : "VM - Fault hit memory shortage\nVM - Fault hit memory shortage\nVM - Fault hit memory shortage\nVM - Fault hit memory shortage\nVM - Fault hit memory shortage\n", "asi" : {"libsystem_c.dylib":["abort() called"]}, "lastExceptionBacktrace" : [{"imageOffset":599820,"symbol":"__exceptionPreprocess","symbolLocation":216,"imageIndex":5},{"imageOffset":85764,"symbol":"objc_exception_throw","symbolLocation":56,"imageIndex":4},{"imageOffset":4865420,"symbol":"-[UIViewController _presentViewController:withAnimationController:completion:]","symbolLocation":5496,"imageIndex":7},{"imageOffset":2773692,"symbol":"__63-[UIViewController _presentViewController:animated:completion:]_block_invoke","symbolLocation":104,"imageIndex":7},{"imageOffset":2384468,"symbol":"-[UIViewController _performCoordinatedPresentOrDismiss:animated:]","symbolLocation":504,"imageIndex":7},{"imageOffset":3851552,"symbol":"-[UIViewController _presentViewController:animated:completion:]","symbolLocation":180,"imageIndex":7},{"imageOffset":2919208,"symbol":"-[UIViewController presentViewController:animated:completion:]","symbolLocation":164,"imageIndex":7},{"imageOffset":5946428,"imageIndex":8},{"imageOffset":5944432,"imageIndex":8},{"imageOffset":5944208,"imageIndex":8},{"imageOffset":5046540,"imageIndex":8},{"imageOffset":5044360,"imageIndex":8},{"imageOffset":5164276,"imageIndex":8},{"imageOffset":5166568,"imageIndex":8},{"imageOffset":5167376,"imageIndex":8},{"imageOffset":5167896,"imageIndex":8},{"imageOffset":2652664,"imageIndex":8},{"imageOffset":2273848,"imageIndex":8},{"imageOffset":2257448,"imageIndex":8},{"imageOffset":2165608,"imageIndex":8},{"imageOffset":2204404,"imageIndex":8},{"imageOffset":4660888,"imageIndex":8},{"imageOffset":4663948,"imageIndex":8},{"imageOffset":5123712,"imageIndex":8},{"imageOffset":2587300,"imageIndex":8},{"imageOffset":2273848,"imageIndex":8},{"imageOffset":2257448,"imageIndex":8},{"imageOffset":1167828,"imageIndex":8},{"imageOffset":2155568,"imageIndex":8},{"imageOffset":2157232,"imageIndex":8},{"imageOffset":2209824,"imageIndex":8},{"imageOffset":2208460,"imageIndex":8},{"imageOffset":2211632,"imageIndex":8},{"imageOffset":2211280,"imageIndex":8},{"imageOffset":5295016,"imageIndex":8},{"imageOffset":5048068,"imageIndex":8},{"imageOffset":5163344,"imageIndex":8},{"imageOffset":5164216,"imageIndex":8},{"imageOffset":5166568,"imageIndex":8},{"imageOffset":5167376,"imageIndex":8},{"imageOffset":5169112,"imageIndex":8},{"imageOffset":5170112,"imageIndex":8},{"imageOffset":2578680,"imageIndex":8},{"imageOffset":2273848,"imageIndex":8},{"imageOffset":2257448,"imageIndex":8},{"imageOffset":2165608,"imageIndex":8},{"imageOffset":2226416,"imageIndex":8},{"imageOffset":2226920,"imageIndex":8},{"imageOffset":1242668,"imageIndex":8},{"imageOffset":1277460,"imageIndex":8},{"imageOffset":6079780,"imageIndex":8},{"imageOffset":215808,"symbol":"__NSFireDelayedPerform","symbolLocation":420,"imageIndex":10},{"imageOffset":683096,"symbol":"__CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__","symbolLocation":28,"imageIndex":5},{"imageOffset":197864,"symbol":"__CFRunLoopDoTimer","symbolLocation":1008,"imageIndex":5},{"imageOffset":176288,"symbol":"__CFRunLoopDoTimers","symbolLocation":316,"imageIndex":5},{"imageOffset":44436,"symbol":"__CFRunLoopRun","symbolLocation":1964,"imageIndex":5},{"imageOffset":121904,"symbol":"CFRunLoopRunSpecific","symbolLocation":572,"imageIndex":5},{"imageOffset":6536,"symbol":"GSEventRunModal","symbolLocation":160,"imageIndex":6},{"imageOffset":5135440,"symbol":"-[UIApplication _run]","symbolLocation":1080,"imageIndex":7},{"imageOffset":2618320,"symbol":"UIApplicationMain","symbolLocation":336,"imageIndex":7},{"imageOffset":28748,"imageIndex":8},{"imageOffset":99280,"symbol":"start","symbolLocation":444,"imageIndex":9}], "faultingThread" : 0, "threads" : [{"triggered":true,"id":763443,"threadState":{"x":[{"value":0},{"value":0},{"value":0},{"value":0},{"value":6914539169},{"value":6094254672},{"value":110},{"value":18446744073709532636},{"value":4423091584,"symbolLocation":0,"symbol":"_main_thread"},{"value":9565622596806922656},{"value":512},{"value":11},{"value":0},{"value":0},{"value":16},{"value":0},{"value":328},{"value":1},{"value":0},{"value":6},{"value":259},{"value":4423091808,"symbolLocation":224,"symbol":"_main_thread"},{"value":1},{"value":10749477712},{"value":0},{"value":1},{"value":63113990400},{"value":8438943744,"symbolLocation":56,"symbol":"directModeShmemLock"},{"value":1}],"flavor":"ARM_THREAD_STATE64","lr":{"value":8030976084},"cpsr":{"value":1073741824},"fp":{"value":6094254528},"sp":{"value":6094254496},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":7487093692,"matchesCrashFrame":1},"far":{"value":6914476872}},"queue":"com.apple.main-thread","frames":[{"imageOffset":27580,"symbol":"__pthread_kill","symbolLocation":8,"imageIndex":0},{"imageOffset":55380,"symbol":"pthread_kill","symbolLocation":208,"imageIndex":1},{"imageOffset":128676,"symbol":"abort","symbolLocation":124,"imageIndex":2},{"imageOffset":69080,"symbol":"abort_message","symbolLocation":128,"imageIndex":3},{"imageOffset":5468,"symbol":"demangling_terminate_handler()","symbolLocation":300,"imageIndex":3},{"imageOffset":108776,"symbol":"_objc_terminate()","symbolLocation":124,"imageIndex":4},{"imageOffset":66164,"symbol":"std::__terminate(void (*)())","symbolLocation":16,"imageIndex":3},{"imageOffset":77328,"symbol":"__cxa_rethrow","symbolLocation":144,"imageIndex":3},{"imageOffset":92600,"symbol":"objc_exception_rethrow","symbolLocation":40,"imageIndex":4},{"imageOffset":122140,"symbol":"CFRunLoopRunSpecific","symbolLocation":808,"imageIndex":5},{"imageOffset":6536,"symbol":"GSEventRunModal","symbolLocation":160,"imageIndex":6},{"imageOffset":5135440,"symbol":"-[UIApplication _run]","symbolLocation":1080,"imageIndex":7},{"imageOffset":2618320,"symbol":"UIApplicationMain","symbolLocation":336,"imageIndex":7},{"imageOffset":28748,"imageIndex":8},{"imageOffset":99280,"symbol":"start","symbolLocation":444,"imageIndex":9}]},{"id":763451,"frames":[{"imageOffset":6452,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":1}]},{"id":763452,"frames":[{"imageOffset":6452,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":1}]},{"id":763453,"frames":[{"imageOffset":6452,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":1}]},{"id":763454,"name":"com.apple.uikit.eventfetch-thread","frames":[{"imageOffset":2732,"symbol":"mach_msg_trap","symbolLocation":8,"imageIndex":0},{"imageOffset":4220,"symbol":"mach_msg","symbolLocation":72,"imageIndex":0},{"imageOffset":26472,"symbol":"__CFRunLoopServiceMachPort","symbolLocation":368,"imageIndex":5},{"imageOffset":43632,"symbol":"__CFRunLoopRun","symbolLocation":1160,"imageIndex":5},{"imageOffset":121904,"symbol":"CFRunLoopRunSpecific","symbolLocation":572,"imageIndex":5},{"imageOffset":97964,"symbol":"-[NSRunLoop(NSRunLoop) runMode:beforeDate:]","symbolLocation":232,"imageIndex":10},{"imageOffset":355984,"symbol":"-[NSRunLoop(NSRunLoop) runUntilDate:]","symbolLocation":88,"imageIndex":10},{"imageOffset":4608160,"symbol":"-[UIEventFetcher threadMain]","symbolLocation":512,"imageIndex":7},{"imageOffset":412972,"symbol":"__NSThread__start__","symbolLocation":792,"imageIndex":10},{"imageOffset":13128,"symbol":"_pthread_start","symbolLocation":116,"imageIndex":1},{"imageOffset":6472,"symbol":"thread_start","symbolLocation":8,"imageIndex":1}]},{"id":763457,"frames":[{"imageOffset":6452,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":1}]},{"id":763461,"frames":[{"imageOffset":5252,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":39892,"symbol":"_pthread_cond_wait$VARIANT$mp","symbolLocation":1240,"imageIndex":1},{"imageOffset":18107216,"imageIndex":8},{"imageOffset":2004500,"imageIndex":8},{"imageOffset":2004404,"imageIndex":8},{"imageOffset":18109168,"imageIndex":8},{"imageOffset":13128,"symbol":"_pthread_start","symbolLocation":116,"imageIndex":1},{"imageOffset":6472,"symbol":"thread_start","symbolLocation":8,"imageIndex":1}]},{"id":763462,"frames":[{"imageOffset":5252,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":39892,"symbol":"_pthread_cond_wait$VARIANT$mp","symbolLocation":1240,"imageIndex":1},{"imageOffset":18107216,"imageIndex":8},{"imageOffset":9557300,"imageIndex":8},{"imageOffset":18109168,"imageIndex":8},{"imageOffset":13128,"symbol":"_pthread_start","symbolLocation":116,"imageIndex":1},{"imageOffset":6472,"symbol":"thread_start","symbolLocation":8,"imageIndex":1}]},{"id":763520,"frames":[{"imageOffset":5252,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":39892,"symbol":"_pthread_cond_wait$VARIANT$mp","symbolLocation":1240,"imageIndex":1},{"imageOffset":18106924,"imageIndex":8},{"imageOffset":10033296,"imageIndex":8},{"imageOffset":10034244,"imageIndex":8},{"imageOffset":18109168,"imageIndex":8},{"imageOffset":13128,"symbol":"_pthread_start","symbolLocation":116,"imageIndex":1},{"imageOffset":6472,"symbol":"thread_start","symbolLocation":8,"imageIndex":1}]},{"id":763521,"frames":[{"imageOffset":5808,"symbol":"__select","symbolLocation":8,"imageIndex":0},{"imageOffset":9545904,"imageIndex":8},{"imageOffset":9772028,"imageIndex":8},{"imageOffset":9770872,"imageIndex":8},{"imageOffset":18109168,"imageIndex":8},{"imageOffset":13128,"symbol":"_pthread_start","symbolLocation":116,"imageIndex":1},{"imageOffset":6472,"symbol":"thread_start","symbolLocation":8,"imageIndex":1}]},{"id":763522,"frames":[{"imageOffset":5252,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":39892,"symbol":"_pthread_cond_wait$VARIANT$mp","symbolLocation":1240,"imageIndex":1},{"imageOffset":18106924,"imageIndex":8},{"imageOffset":9553984,"imageIndex":8},{"imageOffset":18109168,"imageIndex":8},{"imageOffset":13128,"symbol":"_pthread_start","symbolLocation":116,"imageIndex":1},{"imageOffset":6472,"symbol":"thread_start","symbolLocation":8,"imageIndex":1}]},{"id":763526,"name":"JavaScriptCore libpas scavenger","frames":[{"imageOffset":5252,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":0},{"imageOffset":39892,"symbol":"_pthread_cond_wait$VARIANT$mp","symbolLocation":1240,"imageIndex":1},{"imageOffset":17962000,"symbol":"scavenger_thread_main","symbolLocation":960,"imageIndex":11},{"imageOffset":13128,"symbol":"_pthread_start","symbolLocation":116,"imageIndex":1},{"imageOffset":6472,"symbol":"thread_start","symbolLocation":8,"imageIndex":1}]}], "usedImages" : [ { "source" : "P", "arch" : "arm64", "base" : 7487066112, "size" : 212992, "uuid" : "3d363709-8d2d-3d1e-8cab-11d232e5d508", "path" : "\/usr\/lib\/system\/libsystem_kernel.dylib", "name" : "libsystem_kernel.dylib" }, { "source" : "P", "arch" : "arm64", "base" : 8030920704, "size" : 69632, "uuid" : "7e417a07-6533-3ee7-b0de-623b5fb464fd", "path" : "\/usr\/lib\/system\/libsystem_pthread.dylib", "name" : "libsystem_pthread.dylib" }, { "source" : "P", "arch" : "arm64", "base" : 6694789120, "size" : 507904, "uuid" : "0c058d0b-e8f0-36aa-9766-fa72ee100d98", "path" : "\/usr\/lib\/system\/libsystem_c.dylib", "name" : "libsystem_c.dylib" }, { "source" : "P", "arch" : "arm64", "base" : 6914457600, "size" : 94208, "uuid" : "7821c7b7-c6b6-3e41-9b53-5c4f754dd470", "path" : "\/usr\/lib\/libc++abi.dylib", "name" : "libc++abi.dylib" }, { "source" : "P", "arch" : "arm64", "base" : 6913425408, "size" : 229376, "uuid" : "ce5424bc-ae99-3876-9e37-6202060c145b", "path" : "\/usr\/lib\/libobjc.A.dylib", "name" : "libobjc.A.dylib" }, { "source" : "P", "arch" : "arm64", "base" : 6519451648, "size" : 4444160, "uuid" : "a448b016-adb2-3875-8ad5-72e6635def1c", "path" : "\/System\/Library\/Frameworks\/CoreFoundation.framework\/CoreFoundation", "name" : "CoreFoundation" }, { "source" : "P", "arch" : "arm64", "base" : 7065042944, "size" : 36864, "uuid" : "41ace28d-19a4-3850-a2f1-2bd9d6f5b9dd", "path" : "\/System\/Library\/PrivateFrameworks\/GraphicsServices.framework\/GraphicsServices", "name" : "GraphicsServices" }, { "source" : "P", "arch" : "arm64", "base" : 6556360704, "size" : 24748032, "uuid" : "9766f134-0b1c-34a8-a8c9-f8cca8978fde", "path" : "\/System\/Library\/PrivateFrameworks\/UIKitCore.framework\/UIKitCore", "name" : "UIKitCore" }, { "source" : "P", "arch" : "arm64", "base" : 4372627456, "size" : 38666240, "uuid" : "dd223a6b-95c6-3a91-97d9-beaffe631a81", "path" : "\/private\/var\/containers\/Bundle\/Application\/CB051CA4-1ADB-42A9-AB8E-49B799AADFD9\/Ecoici.app\/Ecoici", "name" : "Ecoici" }, { "source" : "P", "arch" : "arm64", "base" : 4422664192, "size" : 344064, "uuid" : "5c4972a8-ef81-32dc-a848-42cc7f7874cf", "path" : "\/usr\/lib\/dyld", "name" : "dyld" }, { "source" : "P", "arch" : "arm64", "base" : 6543630336, "size" : 3031040, "uuid" : "7482ad1b-76ee-38b4-8dac-0960f9f9521e", "path" : "\/System\/Library\/Frameworks\/Foundation.framework\/Foundation", "name" : "Foundation" }, { "source" : "P", "arch" : "arm64", "base" : 6695636992, "size" : 19169280, "uuid" : "28f95f2f-f2e5-3b11-aee1-3e2bf1126972", "path" : "\/System\/Library\/Frameworks\/JavaScriptCore.framework\/JavaScriptCore", "name" : "JavaScriptCore" } ], "sharedCache" : { "base" : 6515916800, "size" : 2280374272, "uuid" : "6520633f-f93d-3fb3-8e7a-b9d9473f76d1" }, "vmSummary" : "ReadOnly portion of Libraries: Total=766.7M resident=0K(0%) swapped_out_or_unallocated=766.7M(100%)\nWritable regions: Total=773.0M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=773.0M(100%)\n\n VIRTUAL REGION \nREGION TYPE SIZE COUNT (non-coalesced) \n=========== ======= ======= \nActivity Tracing 256K 1 \nCG image 16K 1 \nColorSync 64K 4 \nCoreAnimation 176K 3 \nFoundation 16K 1 \nKernel Alloc Once 32K 1 \nMALLOC 542.8M 52 \nMALLOC guard page 128K 8 \nSTACK GUARD 192K 12 \nStack 5072K 12 \nVM_ALLOCATE 176K 3 \nWebKit Malloc 192.0M 5 \nWebKit Malloc (reserved) 32.0M 1 reserved VM address space (unallocated)\n__CTF 759 1 \n__DATA 27.1M 584 \n__DATA_CONST 50.6M 600 \n__DATA_DIRTY 2320K 499 \n__FONT_DATA 4K 1 \n__LINKEDIT 187.8M 4 \n__OBJC_RO 91.1M 1 \n__OBJC_RW 3456K 1 \n__TEXT 578.9M 609 \n__UNICODE 592K 1 \ndyld private memory 1072K 3 \nmapped file 49.4M 21 \nshared memory 48K 3 \n=========== ======= ======= \nTOTAL 1.7G 2432 \nTOTAL, minus reserved VM space 1.7G 2432 \n", "legacyInfo" : { "threadTriggered" : { "queue" : "com.apple.main-thread" } }, "trialInfo" : { "rollouts" : [ { "rolloutId" : "610d4ab6fc54bc33898403cd", "factorPackIds" : { "SIRI_UNDERSTANDING_MORPHUN" : "6201e52d867b8a6e14a893b7" }, "deploymentId" : 240000230 }, { "rolloutId" : "60da5e84ab0ca017dace9abf", "factorPackIds" : {
}, "deploymentId" : 240000008 } ], "experiments" : [ { "treatmentId" : "fb58143a-d0d1-4465-a621-853f75606309", "experimentId" : "6192fb082171a2330e561df0", "deploymentId" : 400000022 }, { "treatmentId" : "dc6188db-da76-4777-9ee0-4bd129ce1e4a", "experimentId" : "61ae5b540a12026a0805a31f", "deploymentId" : 400000018 } ] } }
J'ai eu depuis quelqu'un au téléphone qui m'a indiqué que je devais trouvé la raison du crash de l'appli sans plus de détail hormis faire un test au tout début pour savoir si l'utilisateur valide ou non l'accès à la localisation, comme l'a suggéré Popoy. Mais pour l'instant je galère avec l'insertion du code objective C. Je vais m'y coller ce week-end. |
| |
| |
| | | |
|
| | |
| |
Membro registado 964 mensagems Popularité : +16 (20 votes) |
|
Publicado em maio, 29 2022 - 8:02 AM |
Ce qui est dit : Au premier lancement, si l'on refuse INTENTIONNELLEMENT l'accès à la position, l'application plante. Lors des lancements suivants de l'application se bloque. Conseil : modifie ton code pour prévoir le refus du suivi du positionnement de la part de l'utilisateur et redemande l'autorisation à chaque démarrage tant que l'utilisateur ne'laccepte pas. Ceci-dit, mon application Android/iOS utilise le positionnement (back et foreground) ; et sous iOS, aucune demande d'autorisation n'est affichée (du moins en octobre 2021, date de mon dernier déploiement sous iOS). La demande suscitant "le refus" est-elle affichée par ton code de ton cru ou bien est-ce iOS qui affiche une fenêtre système ? Pourrais-tu partager une capture d'écran de cette fameuse demande ?
-- Pascal Boulesteix Applications Visiolittoral et WNat |
| |
| |
| | | |
|
| | |
| |
Publicado em maio, 29 2022 - 9:19 AM |
je n'ai pas essayé, mais avant de faire de l'objective C, je commencerais par mettre mes appels localisation dans un quand exeception, histoire de voir si je ne peux pas intercepter l'erreur et la gérer proprement en wlanguage
Comme le problème est facile à reproduire, ca devrait aussi être facile à tester...
Et ne pas oublier qu'il est interdit de faire un finprogramme ou équivalent avec apple, donc il faut laisser l'utilosateur dans l'appli ou il ne peut rien faire |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.346 mensagems Popularité : +93 (137 votes) |
|
Publicado em maio, 29 2022 - 10:15 AM |
Pascal c'est une demande système programmée dans le framework pcsoft Il n'y a pas de fonctions (sauf erreur de ma part) qui renvoie ce que l'utilisateur a choisi. Ça existe sur Android D'où mon bout de code incomplet |
| |
| |
| | | |
|
| | |
| |
Membro registado 191 mensagems Popularité : +3 (3 votes) |
|
Publicado em maio, 29 2022 - 10:27 AM |
Le problème c'est que je ne vois pas comment récupérer l’information comme quoi l'utilisateur a ou non accepté
Ci-dessous l'invite d'ios
https://photos.app.goo.gl/kigt3Cr9dChbQGzv7
Popoy a bien mis un bout de code mais je n'arrive pas à le mettre en application (erreur = l'appel de code natif n'est pas disponible)
Je tourne en rond et je vois des pommes partout |
| |
| |
| | | |
|
| | |
| |
Membro registado 964 mensagems Popularité : +16 (20 votes) |
|
Publicado em maio, 29 2022 - 11:45 AM |
Je viens de prendre le temps de lire la doc sur la fonction AppleTrackingEtatAutorisation. Il est écrit qu'à partir de iOS 14.5, les applications doivent obtenir l'autorisation de l'utilisateur avant de suivre son activité. Je pense que je vais tomber dans le "piège" lors de la prochaine publication (ceci-dit, je fais déjà ce qu'il faut pour Android > 10)
Je pense aussi que la fenêtre iOS que tu as posté s'ouvre en l'absence d'une demande explicite de l'application et que le code ci-dessous devrait faire l'affaire :
SELON AppleTrackingEtatAutorisation() CAS ateaAutorisé Info("La vie est belle") AUTRE CAS : Info("Vous venez de refuser l'accès à votre position alors qu'elle est incontournable dans le fonctionnement de l'application","Veuillez relancer l'application et autoriser le suivi de positionnement") retour FIN
-- Pascal Boulesteix Applications Visiolittoral et WNat |
| |
| |
| | | |
|
| | |
| |
Membro registado 964 mensagems Popularité : +16 (20 votes) |
|
Publicado em maio, 29 2022 - 12:01 PM |
Bien sûr tu dois utiliser WM27 !!!!
-- Pascal Boulesteix Applications Visiolittoral et WNat |
| |
| |
| | | |
|
| | |
| |
Membro registado 191 mensagems Popularité : +3 (3 votes) |
|
Publicado em maio, 29 2022 - 12:19 PM |
Je teste ça ce soir mais je pensais que ce n'était QUE pour la publicité |
| |
| |
| | | |
|
| | |
| |
Membro registado 191 mensagems Popularité : +3 (3 votes) |
|
Publicado em maio, 29 2022 - 7:54 PM |
Pascal, Avec ton code, j'ai directement dans wmdev "refusé".
Je ne suis toujours pas certain que AppleTrackingEtatAutorisation() valide l'autorisation de géolocalisation... c'est pas très clair dans la doc |
| |
| |
| | | |
|
| | |
| |
Membro registado 191 mensagems Popularité : +3 (3 votes) |
|
Publicado em maio, 29 2022 - 7:58 PM |
D'ailleurs en cherchant un peu :
https://doc.pcsoft.fr/?1410088136
Donc on est hors-sujet, du coup il serait important que pcsoft nous mette le même genre pour le track gps rapidement ! |
| |
| |
| | | |
|
| | |
| |
Membro registado 964 mensagems Popularité : +16 (20 votes) |
|
Publicado em maio, 30 2022 - 7:22 AM |
J'ai commencé à modifier mon projet
<Compile SI TypeConfiguration=iOS> SELON AppleTrackingEtatAutorisation() CAS ateaAutorisé gbPermissionACCESS_FINE_LOCATION = VRAI gbPermissionACCESS_BACKGROUND_LOCATION = VRAI gbPermissionRECORD_AUDIO = VRAI Info("La vie est belle") CAS ateaIndéterminé AppleTrackingDemandeAutorisationAsynchrone(AppleTrackingDemandeAutorisationAsynchrone_Callback)
AUTRE CAS : Info("Vous venez de refuser l'accès à votre position alors qu'elle est incontournable dans le fonctionnement de l'application","Veuillez relancer l'application et autoriser le suivi de positionnement") gbPermissionACCESS_FINE_LOCATION = FAUX gbPermissionACCESS_BACKGROUND_LOCATION = FAUX gbPermissionRECORD_AUDIO = FAUX RETOUR FIN PROCEDURE INTERNE AppleTrackingDemandeAutorisationAsynchrone_Callback(EtatAutorisation) SI EtatAutorisation <> ateaAutorisé ALORS Info("Vous venez de refuser l'accès à votre position alors qu'elle est incontournable dans le fonctionnement de l'application","Veuillez relancer l'application et autoriser le suivi de positionnement") gbPermissionACCESS_FINE_LOCATION = FAUX gbPermissionACCESS_BACKGROUND_LOCATION = FAUX gbPermissionRECORD_AUDIO = FAUX RETOUR FIN FIN <FIN>
-- Pascal Boulesteix Applications Visiolittoral et WNat |
| |
| |
| | | |
|
| | |
| |
Membro registado 964 mensagems Popularité : +16 (20 votes) |
|
Publicado em maio, 30 2022 - 7:24 AM |
En relisant le code, j'ai ajouté qqu lignes Ca devient :
<Compile SI TypeConfiguration=iOS> SELON AppleTrackingEtatAutorisation() CAS ateaAutorisé gbPermissionACCESS_FINE_LOCATION = VRAI gbPermissionACCESS_BACKGROUND_LOCATION = VRAI gbPermissionRECORD_AUDIO = VRAI Info("La vie est belle") CAS ateaIndéterminé AppleTrackingDemandeAutorisationAsynchrone(AppleTrackingDemandeAutorisationAsynchrone_Callback)
AUTRE CAS : Info("Vous venez de refuser l'accès à votre position alors qu'elle est incontournable dans le fonctionnement de l'application","Veuillez relancer l'application et autoriser le suivi de positionnement") gbPermissionACCESS_FINE_LOCATION = FAUX gbPermissionACCESS_BACKGROUND_LOCATION = FAUX gbPermissionRECORD_AUDIO = FAUX RETOUR FIN PROCEDURE INTERNE AppleTrackingDemandeAutorisationAsynchrone_Callback(EtatAutorisation) SI EtatAutorisation <> ateaAutorisé ALORS Info("Vous venez de refuser l'accès à votre position alors qu'elle est incontournable dans le fonctionnement de l'application","Veuillez relancer l'application et autoriser le suivi de positionnement") gbPermissionACCESS_FINE_LOCATION = FAUX gbPermissionACCESS_BACKGROUND_LOCATION = FAUX gbPermissionRECORD_AUDIO = FAUX RETOUR SINON gbPermissionACCESS_FINE_LOCATION = VRAI gbPermissionACCESS_BACKGROUND_LOCATION = VRAI gbPermissionRECORD_AUDIO = VRAI FIN FIN <FIN>
-- Pascal Boulesteix Applications Visiolittoral et WNat |
| |
| |
| | | |
|
| | |
| |
Membro registado 191 mensagems Popularité : +3 (3 votes) |
|
Publicado em maio, 30 2022 - 7:01 PM |
@Pascal
D'ou sortent les variables bgPermissionxxxxxxxxx et à quoi servent-elles stp ?
Dans la doc ici : https://doc.pcsoft.fr/?1410088136 on ne parle pas de géolocalisation mais juste de suivi publicitaire non ? |
| |
| |
| | | |
|
| | |
| |
Membro registado 964 mensagems Popularité : +16 (20 votes) |
|
Publicado em maio, 30 2022 - 7:45 PM |
Je viens de tester mon application. Le code (les variables bgPermissionxxxx sont des variables globales de mon application) que j'indique ne sert pas pour la localisation. Il permet de gérer la fenêtre de suivi de l'utilisateur au sens publicitaire ; notons que "suivi" est ambigu car l'accès à la localisation est aussi un suivi. La fenêtre système iOS liée à l'autorisation de localisation s'ouvre dès qu'on utilise une fonction utilisant le GPS. Cette fenêtre n'apparaissait pas en octobre, mais entre temps iOS a été mis à jour (même après l'installation d'une de mes applications publiées en octobre (WM26), la fenêtre d'autorisation s'affiche) . A ma connaissance, et contrairement à Android, il n'est pas possible de connaitre le choix de l'utilisateur en matière de localisation avec des fonctions WM. J'ai ouvert un incident dans ce sens chez PCSoft. Actuellement, je m'en sors en testant le GPSEtat : s'il n'est pas bon, j'affiche un message qui dit que les fonctions GPS ne sont pas activées, soit ^parce que le GPS n'est pas actif, soit parce que les autorisations ne sont pas accordées. A suivre.
-- Pascal Boulesteix Applications Visiolittoral et WNat |
| |
| |
| | | |
|
| | |
| |
Membro registado 191 mensagems Popularité : +3 (3 votes) |
|
Publicado em maio, 30 2022 - 8:44 PM |
Certes mais on dirait que ce qui fait planter l'appli si l'utilisateur n'accepte pas est antérieur à l’exécution du code du projet de WM.
Et dès qu'on veut tester justement l'état du gps... l'appli plante. Pas dans wmdev bien sûr, mais dès qu'on est compilé et en exécution dans testflight par ex et donc en pré-validation par les testeurs d'Apple. Si le AppleTrackingEtatAutorisation() gérait le gps ce serait fantastique mais ce n'est visiblement pas le cas. |
| |
| |
| | | |
|
| | |
| |
Membro registado 964 mensagems Popularité : +16 (20 votes) |
|
Publicado em junho, 02 2022 - 6:34 AM |
Mon application vient d'être validée par Apple et elle est disponible en TestFlight
-- Pascal Boulesteix Applications Visiolittoral et WNat |
| |
| |
| | | |
|
| | |
| |
Membro registado 191 mensagems Popularité : +3 (3 votes) |
|
Publicado em junho, 02 2022 - 1:08 PM |
La mienne fonctionne (enfin sans plantage du à la loc !) en testflight et j’attends la validation...
Au niveau code rien de plus PAR CONTRE WM27 en 103n et quand j'ai redémarré le mac j'ai eu des mises à jour ainsi que dans Xcode
J'attends le verdict... |
| |
| |
| | | |
|
| | |
| |
Membro registado 191 mensagems Popularité : +3 (3 votes) |
|
Publicado em junho, 02 2022 - 5:11 PM |
Refusé !
Your app uses location data for features that are not relevant to a user's location. Specifically, your app is not functional when Location Services are disabled. Next Steps To resolve this issue, please revise your app so that your app is fully functional without requiring the user to enable Location Services.
Votre application utilise les données de localisation pour des fonctionnalités qui ne sont pas pertinentes pour l'emplacement de l'utilisateur. Plus précisément, votre application n'est pas fonctionnelle lorsque les services de localisation sont désactivés. Prochaines étapes Pour résoudre ce problème, veuillez modifier votre application de manière à ce qu'elle soit entièrement fonctionnelle sans que l'utilisateur ait à activer les services de localisation.
Je vais me les faire ! |
| |
| |
| | | |
|
| | |
| |
Membro registado 964 mensagems Popularité : +16 (20 votes) |
|
Publicado em junho, 02 2022 - 7:35 PM |
Comment utilises-tu les fonctions de GPS ? Lorsque tu génères l'application, il y a une page WM dans laquelle tu dois indiquer pourquoi tu utilises telle ou telle fonctionnalité. Dans AppStore, as-tu rempli les confidentialités de l'application ?
-- Pascal Boulesteix Applications Visiolittoral et WNat |
| |
| |
| | | |
|
| | |
| |
Membro registado 191 mensagems Popularité : +3 (3 votes) |
|
Publicado em junho, 03 2022 - 8:55 AM |
Voici l'écran de réglage des permissions
Ce qui est bien pris en compte dans appstoreconnect
Ces pommes me rendent dingues, avec Google c'est passé comme une lettre à la poste la ça fait 2 mois que ça dure |
| |
| |
| | | |
|
| | |
| |
Membro registado 964 mensagems Popularité : +16 (20 votes) |
|
Publicado em junho, 03 2022 - 3:02 PM |
Et coté WM, que fais-tu avec le GPS ? Comment l'initialises-tu ? Testes-tu le GPSEtat pour signaler au quidam que son GPS n'est pas activé ou bien qui est probable qu'il a refusé l'accès à la position ? Par exemple, dans mon projet, sur les boutons du menu qui lancent une fonction utilisant la position j'ai ajouté
SI gnQuidGPS <> gpsActivé ALORS Info("GPS NON OPERATIONNEL","Les fonctions de positionnement ne sont pas accessibles, soit parce que le GPS n'est pas activé, soit parce que vous n'avez pas autorisé l'application à les utiliser.") RETOUR FIN SI gbMyAskIdGestionnaire=FAUX ALORS OuvreFenêtreMobile(FEN_CITATION_AFFICHE,"NEW",3) SINON OuvreFenêtreMobile(FEN_CITATION_AFFICHE,"NEW",16) FIN
où la variable globale gnQuidGPS est valorisée dans le CallBack de la fonction GPSEtat
gPROC_INIT_GPS() GPSEtat(gPROC_GPS_CHANGEMENT_ETAT) gPROC_GPS_CHANGEMENT_ETAT(GPSEtat())
-- Pascal Boulesteix Applications Visiolittoral et WNat |
| |
| |
| | | |
|
| | |
| |
Membro registado 191 mensagems Popularité : +3 (3 votes) |
|
Publicado em junho, 03 2022 - 3:26 PM |
Oui je teste maintenant le GPSEtat dans le code du projet.
Avant je le mettais dans les boutons qui demandais l'accès au GPS mais c'est ainsi que l'appli plantait sous iOS quand l'user refusait la localisation dès l'ouverture de l'appli.
J'ai mis dans le code du projet :
SI GPSEtat() <> gpsActivé ALORS OuvreFenêtreMobile(FenErreur) FIN Et plus de plantage... par contre les pommes me refusent toujours l'appli |
| |
| |
| | | |
|
| | |
| |
Membro registado 964 mensagems Popularité : +16 (20 votes) |
|
Publicado em junho, 06 2022 - 6:47 PM |
Toujours avec les mêmes explications ?
-- Pascal Boulesteix Applications Visiolittoral et WNat |
| |
| |
| | | |
|
| | |
| |
Membro registado 3.346 mensagems Popularité : +93 (137 votes) |
|
Publicado em junho, 06 2022 - 8:31 PM |
| |
| |
| | | |
|
| | |
| |
Membro registado 191 mensagems Popularité : +3 (3 votes) |
|
Publicado em junho, 07 2022 - 7:37 PM |
@Pascal Non là c'est parce qu'il voulait absolument un compte de test. Contre toute attente, J'ai renvoyé en leur expliquant que l'appli n'était pas prévue pour fonctionner avec un compte test, du coup ils ont créé un vrai compte et tada !!!! accepté... 2 mois après la validation Play Store ! Donc tout ok MAIS avec dernière version xcode et WM27 103n. |
| |
| |
| | | |
|
| | | | |
| | |
|