J'ai une petite application qui fonctionne sur iOS et tvOS où j'affiche une vidéo dans UIView.It prend en charge iOS 12 et tvOS 12. Maintenant, je veux montrer PIP pour tvOS, donc essayer d'utiliser AVPictureInPictureController donne l'erreur «L'utilisation d'un identifiant non déclaré» AVPictureInPictureController ".
Même si la cible de déploiement est définie sur tvOS 13. Dans Xcode, les capacités -> Mode d'arrière-plan -> activé «Audio, Airplay et Picture In Picture». Ce code de base donne une erreur.
#import <AVKit/AVKit.h>
if ([AVPictureInPictureController isPictureInPictureSupported]) {
// code
}
D'autres paramètres sont-ils manquants ou autre chose dont j'ai besoin?
Merci
POSSIBILITÉ DE PROBLÈMES EN RAISON DES LACUNES DANS LA MISE EN ŒUVRE:
Expérimentez avec l'AVPlayerViewController: assurez-vous d'abord que nous avons défini la catégorie audio de lecture, généralement lorsque nous utilisons un AVPlayerViewController pour lire du contenu vidéo. Le mode PIP sera automatiquement invoqué si l'application développée entre en arrière-plan, mais seulement si elle satisfait à la condition mentionnée ci-dessous, la première est que le lecteur que nous utilisons doit être en mode plein écran, la seconde est que nous devons nous assurer que la vidéo doit être Le jouer et le troisième est le PIP Doit être pris en charge par l'appareil et enfin la méthode déléguée d'écriture pour restaurer l'interface utilisateur de notre lecteur lorsque l'utilisateur revient du mode Image en mode Image.
Implémentation avec _AVPictureInPictureController: vous pouvez trouver un exemple de travail dans le fil ci-dessous. Comment afficher AVPictureInPictureController?
Exploration du problème: afin de confirmer que l'erreur non déclarée n'était pas due aux lacunes de la mise en œuvre et qu'elle était due à environmnet dans Xcode, téléchargez la source, puis ajoutez le dossier Sources dans un autre dossier de votre espace de travail.Ajoutez le dossier à l'aide de " Ajouter des fichiers à ... "et vérifiez maintenant à l'intérieur de xcode.
POSSIBILITÉ DE PROBLÈME DÛ À RAFRAÎCHIR DANS LE XCODE Essayez de corriger par approche 1 Incluez la classe explicitement dans l'en-tête et / ou le corps - au lieu du fichier * .pch. Ensuite, cette erreur pourrait disparaître. La suppression des données dérivées fonctionne également de temps en temps. Avez-vous récemment modifié l'emplacement des préférences par hasard. Certains obtiennent cette erreur lorsqu'ils utilisent un disque virtuel pour les données dérivées, puis reviennent à la valeur par défaut. C'est le cas le plus ennuyeux - car il fait apparaître cette erreur dans presque tous les fichiers.
Essayez Fix By Approach 2 Parfois, une solution simple peut aider à supprimer l'une des lignes #import du fichier pch et à recompiler, ce qui échouera comme prévu.Puis, remettez la ligne supprimée, recompilée et compilée normalement avec toutes les fausses erreurs disparues.
POSSIBILITÉ DE PROBLÈME DURANT LA CACHE D'ERREUR XCODE, SUIVEZ LES ÉTAPES CI-DESSOUS Nettoyer la construction: Command-Option-Shift-K pour nettoyer le dossier de construction. Réinitialiser le simulateur: choisissez iOS Simulator> Réinitialiser le contenu et les paramètres Redémarrez Xcode Supprimez votre dossier DerivedData dans ~ / Library / Developer / Xcode / DerivedData Restart Computer
Supprimez les dossiers / var / d'une manière très ciblée. rm -rf "$ (getconf DARWIN_USER_CACHE_DIR) /org.llvm.clang/ModuleCache"
Source: Comment vider les caches et nettoyer toutes les cibles Erreurs Xcode 4 et ultérieures "Utilisation d'un identifiant non déclaré", compile / s'exécute très bien Utilisation de l'identifiant non déclaré dans Xcode 9.0 https://developer.apple.com/documentation/avkit/adopting_picture_in_picture_in_a_standard_player
la source
Pour créer un simple lecteur vidéo
Tout d'abord, vous devrez implémenter un lecteur vidéo de base dans le fichier ViewController.m de votre projet, comme ceci:
Pour plus d'aide, passez par
https://help.apple.com/xcode/mac/8.0/#/dev51a648b07
la source