Le journal des modifications d'iOS 8.2 bêta 3 révèle les nouvelles mises en œuvre par Apple

8.2 iOS bêta

  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 le URLForDirectory:inDomain:appropriateForURL:create:error: méthode de NSFileManagerclasse. 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 :

  1. 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.

  2. 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 revenir nil 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 le NCUpdateResult. Les widgets ne devraient PAS bloquer le retour de viewWillAppear: sur les résultats de cette opération. Au lieu de cela, les widgets devraient charger l'état mis en cache dans viewWillAppear: afin de correspondre à l'état de la vue du dernier viewWillDisappear:, 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, NSURLSessionTaskPriorityLowet une NSURLSessionTaskPriorityHigh. 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 de NSURLSessionTask la performance.

Pour obtenir des détails complets sur l'utilisation de NSURLSessionTask priorités, reportez-vous aux NSURLSession.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:

  1. Connectez l'appareil via USB à votre Mac.

  2. Lancez Xcode.

  3. Choisissez Fenêtre > Périphériques.

  4. Faites un clic droit sur l'appareil dans la colonne de gauche, choisissez « Afficher les profils de provisionnement ».

  5. Cliquez sur le profil de provisionnement en question.

  6. Appuie sur le bouton.

  7. Continuez à supprimer tous les profils concernés.

  8. Réinstallez l'application.

Uikit

Notes

  • UILabel a une valeur par défaut de OUI pour clipsToBounds. Ceci diffère de la normale UIView par défaut, NON.

  • La leftLayoutGuide ainsi que le rightLayoutGuide Les API ont été supprimées. Veuillez utiliser le layoutMargins propriété à la place.

Kit de montre

Notes

  • La WKInterfaceMap L'API a changé. Spécifiquement, setMapRect: ainsi que le setCoordinateRegion: ont été remplacés par setVisibleMapRect: ainsi que le setRegion: respectivement.

  • La WKInterfaceController méthode initWithContext: a été obsolète. Veuillez utiliser awakeWithContext: plutôt. L'initialiseur désigné pour WKInterfaceController est maintenant init.

  • La WKInterfaceDevice L'API a changé. Spécifiquement, addCachedImage:name: ainsi que le addCachedImageWithData:name: maintenant reviens BOOL 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 appelant removeCachedImageWithName: or removeAllCachedImages.

  • 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éthode openParentApplication:reply: now launches the containing app in the background when the iPhone (or iOS Simulator) is unlocked or locked.

  • La WKInterfaceController méthode presentTextInputControllerWithSuggestions: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.