Ğecko sur iPhone / iOS

Salut @poka, est-il possible de réaliser également un build pour iOS ?

La dernière version buildé iOS est celle-ci: https://api.codemagic.io/artifacts/f7571677-38bc-467d-b6da-c86d158a38c0/cacf5c2b-0dcd-4ae6-aff5-887552c1bd06/Runner.app.zip

C’est le v0.0.8+0
Mais elle n’est pas testé, car je n’ai ni Mac ni iPhone.
C’est un build directement sortie de la CI de CodeMagic.
J’aurais bien besoin d’aide de quelqu’un disposant d’un Mac pour build en debug l’app, car il est probable qu’il faille config des choses pour que cela foncitonne sur iOS.

Je peux essayer de t’aider, j’ai un Mac et un iPhone à disposition.

Voici, il semble, un préalable côté Flutter : Build and release an iOS app | Flutter

Oui flutter build ipa c’est la commande que tu peux faire uniquement sur MacOS, pour build iOS.

@cgeek je viens de push quelques fix pour pouvoir build de nouveau iOS via CodeMagic, voici la dernière version pour iOS: https://api.codemagic.io/artifacts/6fefa28d-20b6-4ea3-8e81-a065ed08ef6e/12cf6c3f-8dbd-4bdb-8665-9a2362b96de3/Runner.app.zip

La page de ce build sur CodeMagic: Codemagic - CI/CD for Android, iOS, Flutter and React Native projects

J’ai commencé à regarder, mais pour l’instant il faut que j’attende la validation de mon compte développeur iOS, ce qui peut prendre jusqu’à 48h.

edit : en fait cette étape a été rapide, depuis j’ai pu uploader un build sur App Store Connect. Par contre je ne peux pas encore publier le build publiquement, celui-ci doit passer dans des outils Apple et ça n’est pas immédiat. Je verrai demain.

1 Like

C’est bon ! Gecko installé sur iPhone 13, ça tourne nickel :slight_smile:

Petit soucis à la restauration de mon compte cgeek par contre : à la fin du processus je tape bien mon code à 5 caractères mais l’écran bloque avec un spinner d’attente infini. Ceci dit si je retourne sur l’écran principal après quelques minutes d’attente mon portefeuille a bien été restauré et ses opérations aussi. Donc peut-être un un bug pas spécifique iPhone.

Cool !! :smiley:

Prochaines étapes :

  • déployer sur l’AppStore
  • donner des droits @poka pour personnaliser éventuellement l’affichage dans l’AppStore
3 Likes

Ah ce spinner c’est le scan des 20 premières dérivations, donc il n’arrive pas à générer ou requêter ces address.
Tu n’a pas de message en haut de l’écran indiquant “hors ligne” à ce moment là (normalement non vue que sinon il te le dirais clairement à l’écran à cette étape)

Hum et tu as testé de créer une nouvelle dérivation ou bien d’effectuer un paiement ?
Testé après redémarrage de l’app ?
Si l’import c’est mal passé, il se peut que le coffre soit mal formaté ou que la seed soit mal encrypté.


Je peux avoir quelques screenshot de quelques écrans pour voir comment ça rends sur iOS ? :slight_smile:

Pas à cette dernière étape, mais sur l’écran “Mes portefeuilles” quand je demande le 2ème portefeuille, oui.

J’ai testé une nouvelle dérivation oui, sans problème.

1 Like



1 Like

Ok, alors faudra que je vois ton soucis de scan des dérivations qui s’est mal passé, du coup il a pas du automatiquement d’importer tous tes portefeuilles actifs.

Si ta un message « hors ligne » sur certains écrans, c’est un bug, mais je crois que ce n’est pas spécifique à iOS, d’autres m’ont indiqué ce bug rarement, ya une issue.

Merci pour les screens, en effet ça rend exactement pareil, je remarque juste la barre en bas de l’écran qui masque un peu la bottom bar.

Tu as essayé un scan de qrcode et un paiement ?
Tu es un peu comme un cosmonaute sur une terre inconnue, c’est génial si ya pas d’autres bugs spécifiques à iOS, merci Flutter ^^

2 Likes

Oui ça rend exactement pareil, et c’est très bien :slight_smile: Pour la bottom bar, effectivement ça masque un peu, ce n’est pas très gênant mais si tu peux trouver une astuce pour éviter la collision graphique ce serait tant mieux.

J’essaye ça ce soir :slight_smile:

Je plussoie, je ne pensais pas que ce serait “si facile” ! En fait le plus compliqué pour moi a été de comprendre 2-3 blocages chez Apple qui restait muet après upload du fichier.

3 Likes

Alors je viens de réessayer en changeant de noeud : c’est passé :slight_smile: (j’étais sur le noeud de 1000i100, je suis passé sur komun.org).

Alors bonne idée : le scan de QRCode passe parfaitement, par contre le paiement échoue (c-à-d de l’iPhone vers un Android : je tape mon code de déverrouillage à 5 caractères et là ça tourne dans le vide).

L’inverse n’est pas vrai : le paiement s’opère parfaitement d’Android vers iOS. Je vois immédiatement la réception des fonds sur l’iPhone.

Par contre je ne sais pas comment te sortir des logs pour débogguer tout ça pour le moment.

1 Like

Ok donc les extrinsics ne semblent pas s’exécuter, mais on dirai que ton coffre n’est toujours pas bon, car il n’arrive visiblement pas à le déchiffrer, sinon il t’enmènerais au moins sur l’écran de transaction en cours.

Je vérifierais pour le noeud de 1000i100.

Pour ça il faudrait lancer l’app dans un emulateur via VSCode par exemple, F5 pour lancer ça, mais il faut créer un émulateur iOS avant.
En espérant qu’il y ai des logs d’erreurs, car je n’ai pas reçus d’alerte Sentry, alors que j’en avais reçus de ton iPhone pour un bug qui n’a rien à voir, et qui semble résolu vue qu’elle n’apparaît plus:

https://sentry.io/share/issue/41968f6bf19e4e8797ef37ab0fdbd215/

1 Like

Il y a tout ce qu’il faut dans Xcode je pense.

Mais c’est bizarre, là je viens de réussir à payer depuis l’iPhone sans aucun problème :thinking: je n’ai pas utilisé le scan de QRcode mais je ne vois pas trop ce que son utilisation aurait changé de toute façon.

Mystère, je vais continuer à tester progressivement.

1 Like

J’avais déjà eu ça dans des version antérieures de Ǧecko. Ça peut tourner dans le vide pendant assez longtemps avant d’arriver à déverrouiller le coffre. Il faudrait voir comment réduire ce temps de déverrouillage.

Hop, la MR pour le build iOS.

Ou au moins afficher la progression afin que l’utilisateur patiente.

Je viens de refaire un essai ce matin sur iPhone : restauration du coffre fort, certification de @matograine , virement à son intention, tout est passé sans encombre et très rapidement ! :sunglasses:

Bref a priori aucun soucis particulier avec ce matériel, je pense plutôt que ce sont les aléas réseau qui jouent le plus. D’ailleurs Ğecko semble changer régulièrement de nœud.

@poka est-ce que dans une prochaine version il serait possible de pouvoir choisir un nœud fixe ? De même pour l’indexeur, pourra-t-on le choisir ?

2 Likes

Si c’est le cas, cela devra être réservé aux “expert”, l’utilisateur lambda ne devrait pas avoir à s’occuper de cela.

2 Likes

Je pense que tu parles du scan des dérivations au moment de l’import, oui il faudrait changer ça, on pourrait scanner bien avant en background dans le workflow, et indiquer le déroulé du scan à la fin si non terminé.

Mais cgeek parle là d’un soucis au moment du paiement, donc au moment d’un simple dévérouillage de coffre, normalement c’est quasiment instantané (moins de 200ms, beaucoup moins sur un phone récent), hors parfois ça bloque ici.

@cgeek j’ai un peu merdé, j’ai mergé ta branche sur master avec tes 2 commits hier soir pendant que c’était terminé, du coup je viens de push le NSPhotoLibraryUsageDescription en remplacement du TODO, il me semble que c’est à toi de passer de draft à ready ta MR ?

(je ne fait plus de MR car jusqu’à récemment la CI était cassé, mais là je crois l’avoir réparé il y a quelques semaines, à voir)


edit: bon j’ai reset hard master, j’ai dû refaire ta MR car c’était le bordel, désolé.
Du coup la nouvelle est là: Feature/publish on ios (!23) · Merge requests · clients / Ğecko · GitLab

La CI est passé, c’est prêt à merger.

Je l’ai annulé au profit de celle-ci, au final il n’y a que 2 commits intéressants à merger : Feature/publish gecko for ios (!24) · Merge requests · clients / Ğecko · GitLab

Pour moi c’est OK, je te laisse cliquer sur le bouton Merge :slight_smile:

1 Like