J'ai créé une application iPhone qui comprend également une extension WatchKit, je peux exécuter cette amende dans le simulateur, mais lorsque j'essaie de déployer sur un iPhone, j'obtiens un problème d'approvisionnement pour la cible WatchKit Extention:
"Le profil d'approvisionnement spécifié dans vos paramètres de génération (" XXXX ") possède un AppID de" XXXX "qui ne correspond pas à l'identifiant de votre ensemble" XXXX.watchkitextension ". Xcode peut résoudre ce problème en téléchargeant un nouveau profil d'approvisionnement à partir du Centre des membres. "
Xcode a automatiquement créé les cibles WatchKit avec le suffixe .watchkitextension et .watchkitapp, mais cela semble causer des problèmes lors de l'utilisation d'un profil d'approvisionnement et du déploiement sur un iPhone.
Si je supprime les cibles du kit de surveillance, cela fonctionne bien, mais ce n'est évidemment pas une solution.
Merci de votre aide
Vous devez créer deux nouveaux AppID dans le portail des développeurs avec l'identifiant de bundle correct pour votre application Watchkit et l'extension Watchkit. L'identifiant du bundle doit étendre l'identifiant principal des applications, donc si votre application est com.myapp
CA devrait etre com.myapp.watchkitextension
et com.myapp.watchkitapp
Vous devez également créer les profils d'approvisionnement associés pour les AppID, un pour l'extension et un pour l'application.
Ajoutez les modules complémentaires requis (comme le trousseau) si vous les utilisez dans votre application Watch.
Dans l'ensemble, vous aurez besoin de six PP, 3 pour le développement, 3 pour l'archivage/stockage. Avec l'équipe Xcode 6.3, l'approvisionnement pour le développement a cessé de fonctionner ( pour moi )
Allez ensuite Xcode> Préférences> Comptes> VOTRE_COMPTE> Afficher les détails ... , CTRL + Cliquez sur l'un des profils et ouvrez-le dans le Finder. Déplacez tous les profils dans la corbeille, puis actualisez les profils.
Dans vos cibles, assurez-vous que la bonne équipe est définie pour votre cible d'application principale, la cible d'extension Watchkit et la cible d'application Watchkit, assurez-vous également que les bons profils de provisioning sont affectés à la cible d'application principale et à la cible d'extension Watchkit (provisionnement d'application Watchkit). Le profil ne peut pas être défini mais sera attribué automatiquement Edit: Avec Xcode 6.3, il peut être défini ).
Pour être sûr que tout va bien, nettoyez le dossier de construction: Dans la commande Xcode hold et faites Produit> Nettoyer les dossiers de construction ...
Vous êtes maintenant prêt à archiver.
Dans mon cas, j'ai nettoyé tout mon profil d'approvisionnement comme suggéré par d'autres utilisateurs, puis j'ai dû supprimer les "droits de signature de code" des "Paramètres de génération" dans le parent de l'application et la cible d'extension et après la reconstruction et l'archivage, tout fonctionne bien.
J'ai fait en sorte que 3 ID d'application (pour l'application conteneur, l'extension watchkit et l'application watchkit) appartiennent à 3 profils d'approvisionnement. (J'allais utiliser AppGroup, donc mon application ne peut pas partager un seul ID d'application.) En définissant 2 profils d'approvisionnement pour l'application conteneur et l'extension watchkit, l'archive de mon application n'a pas pu passer le processus de validation du Xcode.
Dans mon cas, le point critique est de définir le profil d'approvisionnement de l'APP WATCHKIT. En le définissant, il passe le processus de validation et réussit à soumettre l'application.
Ma procédure de réglage est la suivante:
Pendant un certain temps, je pense que le développeur d'applications tiers ne peut pas définir de profils d'approvisionnement des applications WatchKit dans Xcode. Remarquant que nous pouvons le régler, la réponse est maintenant claire ...
généralement lorsque vous obtenez cette erreur, c'est parce que votre ID de bundle ne correspond pas à l'ID d'application qui se trouve sur la disposition.
Dans le cas de l'extension de surveillance, vous devez ajouter le service d'application App Group
à l'identifiant de votre ID d'application associé à votre mise à disposition, sur le portail developer.Apple.com si vous partagez des données ou des fichiers entre l'extension et votre application
J'ai suivi le Q&A technique QA1814 et cela a tout résolu pour moi. Fondamentalement, vous définissez tout sur Automatique et Développeur iOS. Très important pour définir l'équipe: Aucun d'abord, effectuez les modifications, puis revenez à votre équipe, puis redémarrez Xcode.
Ma situation était que j'avais déjà les profils d'approvisionnement et les certificats configurés pour une application iOS "normale". J'avais réussi à publier des applications avec ça. Maintenant, je devais le faire fonctionner après avoir ajouté une nouvelle cible WatchKit à mon application existante. J'ai eu de nombreuses erreurs comme "Aucun profil de provisioning correspondant", etc. Après plusieurs heures de problèmes, j'ai suivi les itinéraires de l'article QA1814 et le tour est joué! - Xcode a tout résolu pour moi. Je n'ai pas eu besoin de changer/résoudre/mettre à jour quoi que ce soit dans le Centre des membres, etc.
Il est également important d'utiliser correctement les ID de bundle. L'application WatchKit et l'extension WatchKit doivent utiliser le même préfixe d'ID de bundle que la cible de l'application iOS.
Si l'application iOS a un ID de bundle: [ID de bundle], les cibles WatchKit doivent être:
Lorsque vous êtes dans la mise à jour Xcode Votre certificat et compilez à nouveau votre programme, la mise en service de la machine réelle sera "Vos paramètres de build spécifient qu'un profil de provisioning a l'UUID 'XXX', clair, non au profil de provisioning a été trouvé. Le Xcode peut résoudre ce problème en téléchargeant un nouveau profil d'approvisionnement à partir du Centre des membres. ".
Dans mon cas, le problème était différent des autres. J'ai tout essayé mais je n'ai pas résolu mon problème. Permettez-moi d'expliquer ma situation avant d'expliquer comment je la résous. Cela commence par l'ajout de l'extension Today à mon projet. J'ai créé un ID de bundle différent pour mon extension d'application. Par exemple, si l'ID de bundle de mon application com.company.appname, j'ai créé pour mon extension quelque chose comme "com.company.appname.TodayExtension". J'utilise XCode version 6.3.2 (6D2105) et XCode automatiquement (le profil d'approvisionnement spécifié dans vos paramètres de génération ("AppName") a un AppID de "BundleID" qui ne correspond pas à votre identifiant de bundle "BundleID2". Xcode peut résoudre ce problème en téléchargeant un nouveau profil d'approvisionnement à partir du Centre des membres ... Bien sûr, je clique sur le bouton "Résoudre le problème") pour créer un profil d'approvisionnement pour l'extension Aujourd'hui.
Et juste après, j'ai ajouté "groupe d'applications" à mon application et j'ai continué à coder pendant un certain temps. Mais lorsque j'essaie d'envoyer mon application à l'AppStore (Produit/Archive/Soumettre à l'AppStore), j'obtiens cette erreur qui dit "Aucun des profils de provisionnement valides n'a autorisé les droits spécifiés: beta-reports-active, com.Apple.security .application-groups ".
Vous devez savoir que le "groupe d'applications" pourrait être le point clé pour vous aussi ...
Veuillez vous rendre dans le centre des membres/Certificats, identificateurs et profils/Profils d'approvisionnement/section Distribution. Recherchez le profil de distribution de votre application et sélectionnez-le. Comme vous pouvez le voir, le statut de votre profil est "Invalid (comme dans mon cas). Alors, voici la solution, cliquez sur le bouton Edit, après ce bouton Generate. Maintenant, veuillez répéter cette action pour tous les profils" Invalid ". Après tous vos profils sont re validé, vous pouvez maintenant revenir à votre projet XCode et mettre à jour les dispositions locales dans votre Mac. Allez dans: Xcode> Préférences> Comptes> VOTRE_COMPTE> Afficher les détails ..., CTRL + Cliquez sur l'un des profils et ouvrez-le dans le Finder. tous les profils dans la corbeille, puis actualisez les profils ".
Maintenant Produit/Nettoyer et (espérons-le pour la dernière fois) Produit/Archiver et soumettre à AppStore.
De manière générale, cela se produit car vous ajoutez un groupe d'applications à votre application, mais vous n'avez pas validé tous vos profils par la suite.
Peut-être que cela aidera quelqu'un.