Je modifie une application qui découvre un périphérique via Bluetooth Ble afin de tracer les valeurs dans un graphique. Tout fonctionne bien (grâce à l'aide de l'un de vous la semaine dernière). L'application a été initialement écrite par mon mari il y a quelque temps et pendant la découverte de l'appareil, il utilisait le code de vérification comme: ou p> devant chacune de ces lignes (et d'autres), je reçois les messages d'avertissement que UUID est obsolète: d'abord obsolète dans iOS 7.0
Depuis un certain temps, j'essaie de découvrir de ce qu'il a été remplacé, mais sur Google, il ne semble pas que d'autres personnes ont le même problème et que lorsque je vais à la documentation Apple: ici P > Il n'y a aucune mention de cela étant obsolète. P> Je ne comprends pas ... P> Quelqu'un pourrait-il aider? Merci p> EDIT: Ajout de certaines infos p> C'est ce que je suis sur mon ordinateur sur la console p> p> p>
3 Réponses :
J'ai vérifié double vérité et la propriété UUID sur CBPEER est également obsolète. P>
de la DOCS en Xcode j'ai trouvé - p>
Déclaration de dépréciation forte> et si vous utilisez
Utilisez la propriété identifiant à la place. P>
blockQuote>
périphérique.identififier.uuidstring code> Vous n'obtenez pas d'avertissement de dépréciation. p>
Je sais comment jeter quelques choses, mais celui-là est un mystère pour moi. Comment feriez-vous cela, s'il vous plaît?
J'ai réalisé que ma réponse originale était incorrecte de toute façon une fois que je suis arrivé devant xcode - je l'ai mis à jour
Je pensais avoir ajouté un commentaire hier soir pour vous remercier, mais cela semble être parti. Ce qui fonctionne certainement.
Oui, l'IOS 8 DOC a été mis à jour avec Utilisez la propriété Identifier. Code>
Mais la valeur de l'identifiant change pour le même périphérique.
Maintenant, identifiant code> est marqué comme amorti aussi! développeur.apple.com/library/prerelease/ios/documentation/...
Je crois que c'est une erreur de documentation. Le texte de identifiant code> ne semble pas développer correctement et je ne reçois pas d'avertissement de dépréciation dans xcode 7b5
Pareil ici. Aucun avertissement obsolète en version bêta Xcode pour l'identifiant. Je crois que c'est une erreur de documentation.
@Nestor j'ai remarqué que aussi et que je me demandais également si c'est une erreur dans la documentation ... surtout car il n'y a pas de "utiliser xyz à la place" sur cette propriété.
@Nestor cela pourrait effacer les choses ... Nick Brook sur la liste de diffusion Bluetooth principale a souligné que "la nouvelle propriété d'identifiant se trouve sur la nouvelle superclasse CBPEer" - il est donc toujours là, il vient de promouvoir la hiérarchie de la classe à Cbpeeer. Ouf!
Juste le vérifier. Si vous regardez CBPeer.h, Assez bien sûr ... L'identifiant est une propriété de cette classe, à partir de laquelle CBCENTRAL et CBPERIPHERAL hériter. Cela était certainement un mystère intéressant à comprendre! ;)
La prochaine fois que quelqu'un me dit de lire les docs plutôt que de poster ainsi, je les liens ici.
Alors, juste au cas où quelqu'un lit ceci:
Voici la façon générale de savoir quoi utiliser au lieu de l'appel d'API obsolète.
1) Marquez l'appel obsolète
2) Cliquez avec le bouton droit de la souris sur "Aller à la définition"
3) Lisez ce qu'il dit là-bas.
Dans le cas de UUID qui a été demandé ici, la réponse serait de 2 lignes ci-dessous: P>
@property (readonly, nonatomic) NSUUID *identifier NS_AVAILABLE(NA, 7_0);
Vous pouvez accéder au service UUID par cbadvertisementDataServiceUuidsKey dans la publicitéData dans
On dirait que vous avez tiré la mauvaise propriété
uuid code>. La propriété
uuid code> de
cbperiphéral code> est obsolète à partir de 7.0. développeur.apple.com/library/ios/documentation/corebluetooth/ ...
Ian, salut. Ok, alors qu'est-ce que je le remplace? J'ai ajouté une photo pour vous montrer ce que je regarde dans la console
Je suis désolé; Je ne peux pas vous aider plus que cela. (C'est pourquoi j'ai posté un commentaire au lieu de fournir une réponse.) Les seules interactions Corebluetooth que j'ai impliqué impliquent des ibecons et non des périphériques Bluetooth génériques.
La documentation cbperiphériques indique qu'il est obsolète développeur.Apple. com / bibliothèque / iOS / documentation / CoreBluetooth / ... mais ne fournit pas d'alternative. À ce stade, vous ne pouvez rien faire, mais continuer à utiliser les propriétés obsolètes. C'est peut-être une erreur de documentation.