Article original : Working on an iOS app? Be careful with this.
Par Kevin Natanzon
Intégrer certains SDK peut avoir des conséquences irréversibles
Chez Beta Labs, nous développons des applications depuis longtemps. Au cours de notre parcours, nous avons créé de nombreuses applications qui ont atteint le Top 10 des charts et qui ont été utilisées par des millions d'utilisateurs. Cependant, comme toute autre startup, nous avons également connu de nombreux échecs et revers.
Nous avons publié nos découvertes, nos insights et nos apprentissages autant que possible. Principalement parce que cela nous rend très heureux de savoir que nos histoires aident les autres à construire de meilleures choses en ligne. Beaucoup de créateurs, de fondateurs, de marketeurs et de développeurs nous ont contactés pour nous dire à quel point cela les avait aidés, et c'est génial ! Voici notre dernier article sur Top Nine :
Top Nine devient viral !
_Annonce de la version Android_blog.beta.uy
Aujourd'hui, nous voulons partager avec vous l'un de nos revers, avec pour objectif d'éviter à d'autres créateurs d'applications de ne pas prêter attention à quelque chose qui pourrait devenir un très gros problème à l'avenir.
Le problème : Vous pouvez perdre plus de 100 000 $ avec un clic
Peut-être que ce titre était un peu accrocheur, mais imaginez que votre application vaut autant, et que quelqu'un veut l'acheter. Mais vous ne pouvez pas la vendre.
Il est vraiment important pour toute personne impliquée dans le développement d'une application iOS (marketeur, développeur, CEO, PM, etc.) d'être consciente de ce problème important :
Si vous utilisez un jour l'autorisation Passbook dans votre application, vous ne pourrez jamais la transférer.
Voici ce que disent les documents d'Apple :
_[source](https://developer.apple.com/library/content/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/Chapters/TransferringAndDeletingApps.html" rel="noopener" target="blank" title=")
Bien qu'il soit clair que toute version d'une application peut contenir Passbook pour être transférée, il n'y a aucun avertissement lorsque le développeur ajoute le framework au projet.
Pourquoi le transfert d'une application serait-il si important ?
Pour de nombreuses raisons, mais en voici quelques-unes :
- Vous pouvez vouloir vendre votre application à une autre entreprise, tout en conservant votre compte développeur avec d'autres actifs.
- Vous pouvez avoir commencé avec un compte développeur personnel et continué avec un compte entreprise, où vous devez transférer les applications.
- Vous pouvez avoir publié l'application sous le compte de quelqu'un d'autre (comme votre société de développement), pour des raisons de simplicité.
Nous l'avons appris à nos dépens
Il y a deux ans, à l'époque où nous ne savions pas grand-chose sur la manière de monétiser les applications, nous avons décidé d'intégrer la médiation Twitter MoPub. Nous pensions que le CPM serait élevé car le potentiel du SDK était vraiment grand, permettant les mêmes choses que ce que fait actuellement le Facebook Audience Network.
Dans le cadre de l'intégration, nous avons suivi ce tutoriel écrit par MoPub.
De plus, les réseaux tiers nécessitent :
- AudioToolbox.framework
- AVFoundation.framework
- Ad.framework
- MessageUI.framework
- MobileCoreServices.framework
- PassKit.framework
- Social.framework
En tant que développeur, tout ce que vous avez à faire est d'ajouter la bibliothèque au projet Xcode. Quel effet négatif cela pourrait-il avoir ?
Quelques mois plus tard, nous avons réussi à positionner cette application à la première place pour les mots-clés "Vérité ou Défi", générant plus de 15 000 $ par mois grâce aux installations organiques — principalement des fêtards cherchant une application amusante.
Nous étions vraiment heureux de trouver un acheteur tôt, alors nous avons décidé de vendre "pas cher" pour un très bon montant. Après tout, un actif générant 15 000 $/mois vaut au moins six chiffres.
Le transfert de l'application était censé être très simple, car Apple fournit déjà un processus pour cela. Mais après avoir conclu un accord avec l'acheteur, nous nous sommes rendu compte que nous avions ajouté l'autorisation Passbook à un moment donné.
(Nous avons récemment intégré Passbook à Top Nine également, mais cette fois-ci, nous l'avons fait en connaissance de cause car c'est nécessaire pour intégrer Apple Pay)
Compléter un processus de paiement e-commerce en deux clics vaut la peine de ne pas pouvoir transférer l'application jusqu'à ce qu'il y ait un acquéreur qui décide d'acheter toute l'entreprise. Mais encore une fois, c'est un compromis que les développeurs devraient réfléchir soigneusement, et non réaliser qu'ils ont choisi par hasard de rendre leur application non transférable une fois qu'il est trop tard.
Comment Apple pourrait résoudre ce problème
La meilleure (mais la moins probable) façon de résoudre ce problème serait de lever cette restriction complètement. C'est-à-dire, permettre aux applications d'être transférées même si elles ont intégré l'autorisation Passbook à un moment donné dans le passé. Nous avons essayé de pousser Apple à faire cela, mais après des années, nous n'avons pas eu de chance.
Si soutenir cela est difficile à réaliser pour une raison quelconque, tout ce que je demanderais est un avertissement clair des implications commerciales de l'ajout de cette bibliothèque au moment du développement. Intégrer le SDK Passbook est une décision qui ne doit pas être prise à la légère, donc si le développeur doit ajouter cette bibliothèque, je m'attendrais à ce que l'action nécessite des permissions élevées, ainsi qu'un petit avertissement :
Comment vous pouvez aider
Si vous lisez ceci, cela signifie que vous êtes impliqué dans le développement d'applications. Si c'est le cas, vous pouvez soit aider un ami dans le domaine, soit nous aider à faire en sorte qu'Apple résolve ce problème.
Si vous êtes un développeur iOS et que vous souhaitez aider, nous avons juste besoin que vous partagiez cet article sur Twitter avec le tweet suivant :
Cher @Apple, pouvez-vous s'il vous plaît résoudre ce problème ? — Tweetez ceci.