Journal des modifications d'iOS 8.1 bêta 2

 

  iOS bêta 8.1 2 est disponible à partir de ce soir pour les développeurs d'applications pour la plateforme iOS et si vous souhaitez découvrir quels sont les changements Apple il ne les mentionnera jamais, et bien vous pouvez les retrouver ci-dessous. Journal des modifications d'iOS 8.1 bêta 2 révèle tout ce que l'entreprise a changé Apple à l'intérieur du logiciel ou pour nos iDevices, ces changements améliorent la fonctionnalité globale et résolvent divers problèmes rencontrés par les développeurs après l'installation iOS bêta 8.1 1.

  Malheureusement il y a peu de nouvelles et il fallait s'y attendre, étant donné qu'Apple précipite la sortie d'iOS 8.1 avec la sortie de nouvelles versions bêta chaque semaine, au lieu de l'attente traditionnelle de 2 semaines entre leur mise à disposition.

Journal des modifications iOS 8.1 bêta 2

Remarques et problèmes connus

Les problèmes suivants concernent l’utilisation du SDK iOS 8.1 pour développer du code.

CaptureAV

Problème connu

Utilisation de la nouvelle constante, AVCaptureISOCurrent, entraînera des valeurs ISO incohérentes (comme observé sur la propriété ISO) sisetExposureModeCustomWithDuration:ISO:completionHandler: est appelé à plusieurs reprises.

Kit Cloud

Notes

Un célibataire ou Individual CKAsset L'instance ne peut plus être définie comme valeur sur plusieurs CCKRecords.

Contacts

Notes

Le sélecteur de personnes de l'interface utilisateur du carnet d'adresses a été modifié pour iOS 8. Un nouveau mode avec une nouvelle API a été ajouté dans lequel l'application n'a pas besoin d'accéder aux contacts de l'utilisateur et l'utilisateur ne sera pas invité à y accéder. Une copie temporaire de la personne sélectionnée est renvoyée dans l'application. EEE ABPeoplePickerNavigationController.h pour plus de détails.

Consultez le nouvel exemple de projet PeoplePicker : Choisir une personne ou une propriété démontrant l’utilisation du nouveau mode.

Fournisseurs de documents

Notes

  • Votre application a besoin des droits iCloud pour pouvoir être utilisée en tant que fournisseur de documents.

  • Le droit com.apple.developer.icloud-container-identifiers sera requis lors de la sortie d'iOS 8.1.

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

Notes

  • Les extensions nécessitent une tranche arm64 pour fonctionner 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 leNSSearchPathForDirectoriesInDomains fonction ou le URLForDirectory:inDomain:appropriateForURL:create:error:méthode de NSFileManager 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 :

  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.

HealthKit

Notes

  • Le code qui tente de lire les informations d’entraînement dans HealthKit peut ne pas pouvoir effectuer de requêtes ultérieures à HealthKit.

    Si vous utilisez HKWorkouts, vous devez éviter de lire les entraînements lorsque vous exécutez des versions iOS antérieures à 8.1 avec :

    NSOperatingSystemVersion ios8_1_0 = (NSOperatingSystemVersion){8, 1, 0} ;
    if ([[NSProcessInfo processInfo] isOperatingSystemAtLeastVersion:ios8_1_0]) {
    // Lisez et écrivez les informations d'entraînement dans le kit de santé.
    } Else {
    // Écrivez les informations d'entraînement dans le kit de santé
    }

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 sauvegarde

Corrigé dans iOS 8.1 Beta 2

Après la restauration à partir d'une sauvegarde iCloud, vous ne pourrez peut-être pas synchroniser le nouveau contenu musical ou vidéo d'iTunes.

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.

claviers

Problème connu

  • Les claviers supplémentaires, y compris les claviers tiers, peuvent ne pas apparaître dans Safari, Maps ou dans les applications tierces du simulateur.

    Solution: Les claviers doivent pouvoir être testés dans Calendrier, Spotlight, Contacts et Photos.

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 deviewWillAppear: 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

Les NSURLSessionTask class fournit une nouvelle propriété « priorité » avec trois constantes associées : NSURLSessionTaskPriorityDefault,NSURLSessionTaskPriorityLowet 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 deNSURLSessionTask 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 Beta. 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.

Corrigé dans iOS 8.1 Beta 2

  • Si la version bêta de la bibliothèque de photos iCloud est activée, Paramètres > iCloud > Photos peut planter.

    Solution: Utilisez Paramètres > Photos et appareil photo pour gérer les paramètres de Photos.

Problèmes connus

  • 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.1 à partir des versions bêta 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. Lancer 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 d'approvisionnement"

  5. Cliquez sur le profil d'approvisionnement en question

  6. Appuie sur le bouton

  7. Continuez ainsi pour 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.

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

WebKit

Notes

  • L'API Navigation Timing a été désactivée uniquement sur iOS en raison de problèmes de performances.

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.