Apple a lancé iOS bêta 8.2 3 cu doar cateva zeci de minute in urma pentru posesorii de iPhone, iPad si iPod Touch, noua versiune a sistemului de operare fiind disponibila pentru dezvoltatorii de aplicatii pentru iPhone, iPad si iPod Touch. Din pacate compania Apple nu a mentionat in informatiile oferite la actualizare ce tip de modificari a implementat pentru dezvoltatori, insa a publicat un changelog detaliat in portalul dedicat acestora pe website-ul sau.
In baza acestui changelog putem afla noutatile iOS bêta 8.2 3, adica tot ceea ce a schimbat Apple la suprafata sau in interiorul sistemului de operare, majoritatea modificarilor fiind facute in ceea ce priveste codul sursa si nu functiile vizibile. iOS 8.2 beta 3 este doar una dintre versiunile beta lansate de catre compania Apple pentru iOS 8.2, cei din Cupertino oferind aceasta versiune a sistemului de operare pentru dezvoltatorii dornici sa testeze aplicatiile pentru Apple Watch.
Journal des modifications d'iOS 8.2 bêta 3
Remarques et problèmes connus
Les problèmes suivants concernent l’utilisation du SDK iOS 8.2 pour développer du code.
Kit Cloud
Notes
Un célibataire ou Individual
CKAsset
L'instance ne peut plus être définie comme valeur sur plusieurs CCKRecords.Fournisseurs de documents
Notes
Votre application a besoin des droits iCloud pour pouvoir être utilisée en tant que fournisseur de documents.
La
com.apple.developer.icloud-container-identifiers
le droit est requis.Problèmes connus
Après avoir fait pivoter le sélecteur de documents en mode paysage, la barre d'état est masquée.
Lors de l'affichage du sélecteur de documents en mode paysage, la vue contenant peut être déplacée sous la barre de navigation.
Extensions d'application
Notes
Les extensions d'application nécessitent une tranche arm64 pour s'exécuter sur des appareils 64 bits. Si vous essayez d'exécuter la tranche armv7 sur un appareil 64 bits, cela ne fonctionnera pas.
Les applications doivent avoir une tranche arm64 si le bundle contient un cadre auquel l'application et l'extension d'application sont liées.
Système de fichiers
Notes
La disposition du système de fichiers des conteneurs d'applications a changé sur le disque. Plutôt que de vous fier à une structure de répertoires codée en dur, utilisez le
NSSearchPathForDirectoriesInDomains
fonction ou leURLForDirectory:inDomain:appropriateForURL:create:error:
méthode deNSFileManager
classe. EEE Accéder aux fichiers et aux répertoires in Guide de programmation du système de fichiers.Polices
Notes
La taille de la police système thaïlandaise a été augmentée pour améliorer la lisibilité. Cela entraînera un écrêtage à de nombreux endroits de votre interface utilisateur si vous ne prenez pas les mesures appropriées :
Utilisez
UILabel
autant que possible. Si vous utilisez Interface Builder, assurez-vous que Clip Subviews n'est pas coché. UIKit agrandira la région de découpage si nécessaire pour ne pas couper le texte.Utilisez le type dynamique. Cela garantira que vous n'aurez pas de glyphes qui se chevauchent dans les étiquettes multilignes ou les champs de texte.
Si vous ne pouvez pas faire 1 et 2 parce que vous implémentez vos propres vues, vous devez mettre en œuvre des mesures pour ne pas couper. Vous pouvez utiliser CoreText pour déterminer la zone de découpage appropriée pour une ligne de texte en appelant :
CTLineGetBoundsWithOptions(lineRef, kCTLineBoundsIncludeLanguageExtents);Pour éviter le chevauchement des glyphes dans les éléments de texte multilignes, ajustez la hauteur de la ligne. Un supplément de 30 % est recommandé.
Cette mesure aidera également votre application à mieux fonctionner dans d'autres langues, notamment l'arabe, l'hindi et le vietnamien.
iCloud
Notes
Le transfert de courrier et AirDrop peuvent cesser de fonctionner après avoir modifié votre mot de passe iCloud sur appleid.apple.com.
Solution: Déconnectez-vous et reconnectez-vous à iCloud sur l'appareil.
icloud lecteur
Notes
URLForUbiquityContainerIdentifier:
pourrait revenirnil
lors de l'exécution de votre application dans Xcode. Si tel est le cas, ouvrez les Préférences Système, accédez à iCloud > iCloud Drive et activez Xcode.Mes Messages
Corrigé dans la bêta 3
Votre appareil peut se retrouver dans un état dans lequel l'accès aux conversations Messages peut prendre beaucoup de temps.
Notification Center
Notes
Le calendrier et l'utilisation prévue de
widgetPerformUpdateWithCompletionHandler:
est conçu comme une maison pratique pour toute la logique de mise à jour des données/modèles. S'il est mis en œuvre, le système appellera à des moments appropriés le widget pour mettre à jour son état, à la fois lorsque le centre de notifications est visible et en arrière-plan. Une implémentation est requise pour activer les mises à jour en arrière-plan. On s'attend à ce que le widget effectue le travail de mise à jour de manière asynchrone et en dehors du thread principal autant que possible. Les widgets doivent appeler le bloc d'arguments lorsque le travail est terminé, en transmettant leNCUpdateResult
. Les widgets ne devraient PAS bloquer le retour deviewWillAppear:
sur les résultats de cette opération. Au lieu de cela, les widgets devraient charger l'état mis en cache dansviewWillAppear:
afin de correspondre à l'état de la vue du dernierviewWillDisappear:
, puis passez en douceur aux nouvelles données lorsqu'elles arrivent.Session NSURL
Notes
La
NSURLSessionTask
class fournit une nouvelle propriété « priorité » avec trois constantes associées :NSURLSessionTaskPriorityDefault
,NSURLSessionTaskPriorityLow
et uneNSURLSessionTaskPriorityHigh
.NSURLSessionTask
Les priorités peuvent être utilisées pour spécifier la manière dont plusieurs demandes et réponses adressées au même hôte doivent être hiérarchisées. Notez que la priorité est une indication et non une garantie stricte deNSURLSessionTask
la performance.Pour obtenir des détails complets sur l'utilisation de
NSURLSessionTask
priorités, reportez-vous auxNSURLSession.h
fichier d’en-tête, fourni par le framework Foundation.Téléphone
Notes
Pour activer la fonctionnalité d'appel Wi-Fi pour T-Mobile (États-Unis uniquement), procédez comme suit :
Accédez à Paramètres > Téléphone > Appels Wi-Fi.
Basculez le commutateur d’appels Wi-Fi sur ON.
Si le transporteur ne dispose pas de l'adresse d'urgence enregistrée de l'utilisateur, il vous sera demandé de l'ajouter avant que la fonctionnalité ne soit activée.
Photos
Notes
Conservez une sauvegarde de votre photothèque avant d'activer et pendant l'utilisation de la version bêta de la bibliothèque de photos iCloud en :
Importation sur votre Mac à l'aide d'iPhoto
Importation sur votre Mac à l'aide de Image Capture
La version bêta de la bibliothèque de photos iCloud ne téléchargera pas les photos et vidéos synchronisées sur votre appareil à partir d'iTunes. Toutes les photos et vidéos synchronisées sur votre appareil depuis iTunes seront supprimées lorsque vous activerez la version bêta de la bibliothèque de photos iCloud.
iPhoto pour iOS ne se lancera pas sur iOS 8 bêta. Le lancement de Photos.app migrera vos modifications iPhoto vers la photothèque iOS 8. Assurez-vous que vos données iPhoto pour iOS sont incluses dans la sauvegarde de votre appareil.
La possibilité d'optimiser automatiquement l'espace de l'appareil est activée pour tous les comptes de plus de 5 Go.
Lorsque vous utilisez le partage familial iCloud, le partage de photos iCloud et mon flux de photos sont activés.
Profils d'approvisionnement
Problème connu
Si vous avez effectué une mise à niveau vers la version bêta 8.2 à partir des versions bêta précédentes d'iOS 8, vous risquez de voir vos applications planter en raison de problèmes de profil d'approvisionnement.
Solution:
Connectez l'appareil via USB à votre Mac.
Lancez Xcode.
Choisissez Fenêtre > Périphériques.
Faites un clic droit sur l'appareil dans la colonne de gauche, choisissez « Afficher les profils de provisionnement ».
Cliquez sur le profil de provisionnement en question.
Appuie sur le bouton.
Continuez à supprimer tous les profils concernés.
Réinstallez l'application.
Uikit
Notes
UILabel
a une valeur par défaut de OUI pourclipsToBounds
. Ceci diffère de la normaleUIView
par défaut, NON.La
leftLayoutGuide
ainsi que lerightLayoutGuide
Les API ont été supprimées. Veuillez utiliser lelayoutMargins
propriété à la place.Kit de montre
Notes
La
WKInterfaceMap
L'API a changé. Spécifiquement,setMapRect:
ainsi que lesetCoordinateRegion:
ont été remplacés parsetVisibleMapRect:
ainsi que lesetRegion:
respectivement.La
WKInterfaceController
méthodeinitWithContext:
a été obsolète. Veuillez utiliserawakeWithContext:
plutôt. L'initialiseur désigné pourWKInterfaceController
est maintenantinit
.La
WKInterfaceDevice
L'API a changé. Spécifiquement,addCachedImage:name:
ainsi que leaddCachedImageWithData:name:
maintenant reviensBOOL
pour indiquer le succès ou l'échec de l'ajout d'une image au cache. Notez que ces méthodes renvoient NON si la taille du cache a atteint sa limite. Supprimez les images du cache en appelantremoveCachedImageWithName:
orremoveAllCachedImages
.Une application WatchKit basée sur des pages peut reséquencer dynamiquement les pages au niveau racine en utilisant
reloadRootControllersWithNames:contexts:
.Lignes dans un
WKInterfaceTable
ont maintenant une apparence par défaut. Cette apparence peut être remplacée en spécifiant les valeurs de couleur d'arrière-plan, de marge, de rayon de coin et de hauteur de la ligne dans Interface Builder.Corrigé dans la bêta 3
In iOS Simulator, the Emoji button should now be visible, regardless of the selected input mode.
La
WKInterfaceController
méthodeopenParentApplication:reply:
now launches the containing app in the background when the iPhone (or iOS Simulator) is unlocked or locked.La
WKInterfaceController
méthodepresentTextInputControllerWithSuggestions:completion:
is now fully supported in iOS Simulator.Problème connu
Insérer, supprimer ou mettre à jour des lignes d'un
WKInterfaceTable
peut entraîner une taille temporairement incorrecte du tableau. Faire défiler votre contrôleur d’interface devrait restaurer la table à la taille appropriée.
Appels Wi-Fi (T-Mobile US uniquement)
Notes
Le nom de l'opérateur dans la barre d'état affichera « T-Mobile Wi-Fi » lorsque l'appareil est capable de passer et de recevoir des appels Wi-Fi.