Afin de tester mes achats intégrés avec iOS 13, j'ai mis à jour l'un de mes appareils de test vers iOS 13.1 bêta.
Sur iOS 12 et avant moi, il y avait une connexion Sandbox spéciale dans Settings/iTunes & App Store/Sandbox Account
:
Cependant, après la mise à jour vers iOS 13, cette section est manquante. J'ai essayé de suivre les instruction dans la réponse à un problème similaire sur iOS 12 mais rien n'a fonctionné. J'ai complètement reposé l'appareil et je me suis déconnecté à la fois sur Settings/iTunes & App Store
et à Settings/Apple ID
, donc actuellement l'appareil n'est connecté à aucun compte (réel ou sandbox). Autant que je sache.
J'ai réinstallé mon application sur les appareils à l'aide de Xcode 11 beta et j'ai essayé d'effectuer un achat via l'application. Le magasin affiche une invite de connexion qui indique qu'il s'agit d'un achat Sandbox. Cependant, l'invite ne demande que le mot de passe, pas un nom d'utilisateur ou Apple ID. Je n'ai donc aucune idée du compte à utiliser ici.
Lorsque vous utilisez le mot de passe d'un compte d'utilisateur de test nouvellement créé, le mot de passe n'est pas connu. Je peux utiliser le mot de passe de mon compte réel Apple ID qui a été utilisé lors de la configuration de l'appareil et qui a ensuite été déconnecté.
Alors, comment se connecter à un compte Sandbox spécifique dans iOS 13?
Voici ce qui a fonctionné pour moi (sur un iPhone 6s de développement dédié sous iOS 13.3).
Il a fallu saisir les informations d'identification plusieurs fois, mais l'alerte de la boîte de dialogue d'achat intégrée a indiqué que l'environnement était Sandbox.
Après avoir "fait du bien" (c'est-à-dire cessé de me demander de me connecter et traité le SKPaymentTransation), j'ai pu accéder à iTunes & App Stores dans les paramètres généraux , faites défiler vers le bas, et maintenant le compte Sandbox apparaît avec le compte testeur affiché.
Maintenant, lorsque je lance l'application et que je clique sur le bouton pour acheter du contenu, il me demande simplement le mot de passe du testeur.
Espérons que cela aide les autres.
J'ai eu le même problème à la recherche d'une solution que j'ai trouvé cet article, test d'achat in-app
Je pense qu'à partir d'ios 13 et plus, nous n'avons pas besoin d'un utilisateur de bac à sable pour les tests d'achat in-app ni pour dev ni prod.
Il semble que le bogue iOS, j'ai eu le même problème, et j'ai pu voir la section COMPTE SANDBOX seulement après avoir fait ces étapes:
Ensuite, vous pourrez voir votre production Apple id en cours d'utilisation et le test Apple id dans la section COMPTE SANDBOX).
La section Compte Sandbox , dans la iTunes & App Store d'iOS 13, n'est pas visible immédiatement et peut être source de confusion . Voici comment l'activer:
Vous ne pouvez pas entrer le compte sandbox dans iTunes & App Store en tant que compte principal à partir d'iOS 13 - le système refusera de vous connecter avec une erreur avec une copie étrange mentionnant "réessayer plus tard". Peu importe combien vous attendez, iOS 13 refusera votre compte sandbox ici.
J'ai eu le même problème et j'ai finalement trouvé la solution: vous essayez simplement d'acheter le produit dans votre application et entrez vos informations d'identification d'utilisateur de sandbox, puis vous obtiendrez les paramètres/iTunes & App Store/Connexion au compte Sandbox.
Installez votre application avec des achats intégrés via TestFlight.
Bien que malheureusement aucune des réponses suggérées n'ait aidé à ramener activement l'option Sandbox, dans mon cas, elle a contribué à la mise à jour vers la (maintenant) dernière version d'iOS 13.
Je ne sais pas si c'est juste une coïncidence, s'il y a eu une correction de bogue dans la dernière mise à jour iOS ou si j'ai effectué des étapes de guérison sans le savoir ...
Donc, bien que ce ne soit pas une vraie solution, j'ai ajouté cette réponse au cas où cela pourrait aider quelqu'un d'autre.