La version iOS 10 / Xcode 8 GM obtient ce qui suit, jamais auparavant sur Xcode 7. Des idées?
objc [25161]: la classe PLBuildVersion est implémentée dans /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks/AssetsLibraryServicesAlibraryServices et /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/PrivateFrameworks/PhotoLibraryServices.framework/PhotoLibraryServices10 (0x1202). Un des deux sera utilisé. Lequel n'est pas défini.
(REMARQUE: semble uniquement se produire dans le simulateur, n'apparaît pas sur le vrai appareil).
Réponses:
Idée principale
L'idée principale est simple:
Si votre application (ou dépendances, telles que Pods) utilise un framework, qui utilise explicite (ou implicite)
PhotoLibraryServices.framework
ouAssetsLibraryServices.framework
comme dépendance, Xcode vous avertit (même si vous n'utilisez qu'un seul d'entre eux). Ce peut êtrePhotos/PhotosUI.framework
ouAssetsLibrary.framework
, ou un autre (je n'ai pas la liste complète des dépendances, mais c'est possible).Quel est le problème?
La classe avec le nom
PLBuildVersion
est définie à la fois dansPhotoLibraryServices.framework
etAssetsLibraryServices.framework
. Le nom de classe est unique dans Objective-C (vous ne pouvez pas définir 2 classes avec le même nom), il n'est donc pas défini laquelle sera utilisée dans le runtime.Cependant, je pense que ce ne sera pas un problème, car les deux classes ont les mêmes méthodes et champs (vérifié cela avec le désassembleur) et je suppose que les deux ont été compilés à partir de la même source.
Le radar est déjà envoyé.
la source
.attributedText
. Je n'accède pas à l'appareil photo ou aux photos. Cet avertissement entraîne également un décalage important du chargement du View Controller, même s'il n'y a pas de tâches gourmandes en temps (pas d'accès réseau, pas d'entrées / sorties de fichiers, etc.).Selon la réponse d'un employé d' Apple sur le Forum des développeurs d'Apple :
la source
Je n'ai pas pu trouver un moyen de me débarrasser de l'avertissement, mais si vous voulez empêcher l'application de planter, vous devez fournir une description des raisons pour lesquelles vous accédez à l'appareil photo, à la photothèque, etc. Ceci est nouveau dans iOS10.
Saisissez ce qui suit dans votre
Info.plist
fichier.Photo
Clé:
Privacy - Photo Library Usage Description
Valeur:$(PRODUCT_NAME) photo use
Caméra
Clé:
Privacy - Camera Usage Description
Valeur:$(PRODUCT_NAME) camera use
Plus d'informations peuvent être trouvées ici: https://iosdevcenters.blogspot.com/2016/09/infoplist-privacy-settings-in-ios-10.html
la source
info.plist
fichier. Apparemment, c'est nécessaire dans IOS 10.xJe trouve que vous pouvez obtenir cette erreur simplement en utilisant un UIWebView. Ma solution a été de remplacer mon utilisation d'UIWebView par WKWebView.
la source
Je l'ai eu après avoir ajouté Answers on Fabric à mon projet.
La suppression des données dérivées a fait l'affaire pour moi. (shift alt command k dans XCode)
Modifier un an plus tard:
Après avoir supprimé les données dérivées, quittez toujours XCode et redémarrez-le.
Dans des cas indépendants, j'ai l'impression que la suppression de données dérivées n'efface pas les caches en mémoire de XCode des données dérivées.
la source
La réinitialisation du simulateur iOS a résolu ce problème pour moi. Simulateur -> Réinitialiser le contenu et les paramètres.
la source
Dans mon cas, cet avertissement a commencé à apparaître après l'ouverture d'un deuxième projet xcode et l'exécution de la deuxième application sur le simulateur. Après être revenu à la première application, l'avertissement a commencé à apparaître. Je viens de quitter le simulateur et Xcode et j'ai rouvert mon projet. L'avertissement a disparu après cela. Si cela ne le résout pas, passez aux autres réponses. Xcode peut parfois être très difficile.
la source