Parallèlement à la sortie d’iOS 7.1 pour les clients iPad, iPhone et iPod touch, Apple a mis à jour Xcode et iAd Producer avec des améliorations pour mieux fonctionner avec les appareils iOS 7.1.
iAd 4.1.2 apparaît déjà dans la section Mise à jour logicielle du Mac App Store :
Xcode 5.1 est désormais également disponible sur le Mac App Store et se trouve dans le centre de développement avec les notes de version suivantes :
Table des matières
Nouvelles fonctionnalités
Débogage
- Quick Look peut être implémenté pour les classes définies par le développeur. Lorsqu’une instance d’une classe personnalisée est visualisée avec Quick Look dans la vue des variables du débogueur ou une info-bulle, le débogueur la présente à l’aide d’une méthode nommée
-debugQuickLookObject
défini dans l’implémentation de la classe. Pour plus de détails sur l’utilisation de cette capacité, voir Aperçu rapide des types personnalisés dans le débogueur Xcode. (12723736) - Les actions de point d’arrêt du journal impriment désormais la valeur logique des expressions. Par exemple, une action de point d’arrêt du journal telle que
"myString = @myString@"
imprime maintenant la valeur demyString
plutôt que la valeur du pointeur. (13211695)
Modification des interfaces utilisateur
- Les documents Interface Builder peuvent contenir des informations spécifiques sur les nouvelles fonctionnalités qu’ils utilisent et les versions de système d’exploitation dont ils ont besoin, permettant aux versions précédentes de Xcode d’afficher de meilleurs messages d’avertissement lors de la tentative d’ouverture de ces documents. (7659982)
- La création d’interfaces dans Interface Builder à l’aide de la mise en page automatique offre la suite complète de types de contraintes possibles : rapports hauteur/largeur, tailles et positions proportionnelles, alignements d’attributs croisés et un nouvel inspecteur de contraintes avec des fonctionnalités permettant de modifier presque toutes les propriétés d’une contrainte.
- L’inspecteur d’attributs de contrainte d’Interface Builder affiche les éléments et les attributs d’une contrainte et permet de modifier les attributs. Cette fonctionnalité permet de créer des contraintes inter-attributs telles que
view1.centerY = view2.bottom
. (13739009) - Vous pouvez utiliser Interface Builder pour modifier la relation de tout type de contrainte, y compris les contraintes d’alignement (par exemple,
view1.leading ) and equal size constraints (for instance,
view1.width >= view2.width
). (14721954) - Vous pouvez créer des contraintes de rapport hauteur/largeur et de dimensionnement proportionnel et modifier le multiplicateur des contraintes dans Interface Builder. Le multiplicateur peut être un nombre décimal (par exemple,
0.5
), une fraction (par exemple,1/2
), ou un rapport hauteur/largeur (par exemple,1:2
). (11935843) - Les contraintes attachées aux vues ambiguës dans Interface Builder sont dessinées en orange uniquement dans l’axe avec ambiguïté. Cela permet d’identifier plus rapidement un problème potentiel dans le canevas. (15114120)
- Le canevas d’Interface Builder affiche désormais des barres de défilement superposées lorsque cela est approprié, en fonction du paramètre « Afficher la barre de défilement » dans le volet Général des Préférences Système. (10069033)
- L’inspecteur Interface Builder prend désormais en charge :
NSTableView
–floatsGroupRows
propriété (9617000)UISegmentedControl
–apportionsSegmentWidthsByContent
propriété (9950528)UITableView
–sectionIndexBackgroundColor
propriété (14776025)- Définition du type de bouton « Détail » pour le prototype
UITableViewCell
–editingAccessoryType
propriété (15039987)
Instruments et symbolisation
- Les instruments trouvent désormais les symboles de manière beaucoup plus fiable. Si les symboles n’apparaissent pas automatiquement, essayez ce qui suit :
- Lorsque l’indexation Spotlight est désactivée pour les données dérivées de Xcode, par exemple lors de l’utilisation
/tmp
ajoutez une liste globale de chemins de recherche supplémentaires configurés dans les préférences Instruments. - Le menu contextuel d’une adresse inclut désormais l’option « Symboliser avec DSYM » pour ajouter un fichier de symboles spécifique.
- Utilisez la commande Symboles du menu Fichier pour voir une liste plus détaillée de l’état des exécutables et des bibliothèques individuels.
- Les feux verts indiquent la présence de symboles et d’informations sources.
- Les voyants jaunes indiquent les bibliothèques contenant certains symboles mais qui peuvent toujours bénéficier de la localisation d’un dSYM.
- Les feux rouges indiquent les situations qui ont empêché la symbolisation. (14269449)
- Lorsque l’indexation Spotlight est désactivée pour les données dérivées de Xcode, par exemple lors de l’utilisation
- Le
instruments
L’outil de ligne de commande prend désormais en charge la spécification du SDK du simulateur et du type d’appareil à l’aide de-w
drapeau. Pour voir une liste des configurations de simulateur prises en charge ainsi que des périphériques connectés, exécutezinstruments -s devices
dans une fenêtre de terminal. (14996865)
Installation scriptée
- Installation de Device SupportExécutez à partir de la ligne de commande, Xcode.app prend le nouvel argument de ligne de commande,
-installComponents
. Lorsque Xcode est exécuté à partir d’un script de ligne de commande avec cette option, il installe les packages de prise en charge de périphérique requis, puis se ferme. (15127411)
Général
- Les emojis et autres paires de substitution Unicode sont pris en charge dans les paramètres de schéma et dans les fichiers de projet. (14837623 et 13827044)
Changements
Bâtiment
- Arm64 est désormais inclus dans le paramètre « Architectures standard ». Xcode 5.0 a introduit la prise en charge de la création d’applications iOS 64 bits, mais elle n’était pas activée par défaut. Pour activer l’option de création 64 bits dans Xcode 5.0, un paramètre d’architecture a été fourni : « Architectures standard incluant 64 bits » (
ARCHS_STANDARD_INCLUDING_64_BIT
).Avec l’introduction de Xcode 5.1, arm64 est inclus dans le paramètre de build par défaut « Architecture standard ». Cela signifie que les projets utilisant le paramètre par défaut sont automatiquement créés pour arm64 avec les architectures 32 bits standard.
- Les projets configurés pour utiliser des « architectures standard, y compris 64 bits » seront convertis en « architectures standard »
$(ARCHS_STANDARD)
.
Compilateur
- À partir de la version 5.1 (clang-502) et ultérieure du compilateur Apple LLVM, le niveau d’optimisation
-O4
n’implique plus l’optimisation du temps de liaison (LTO). Afin de construire avec LTO, utilisez explicitement le-flto
option en plus de l’indicateur de niveau d’optimisation. (15633276)
Essai
- Le
gcov
L’outil de test de couverture de code a été réimplémenté. La nouvelle version utilise lellvm-cov
outil du projet LLVM. Il est fonctionnellement équivalent à l’ancienne version pour toutes les fonctionnalités importantes. L’emplacement degcov
dans Xcode a également été déplacé, utilisez xcrun pour l’invoquer. Si vous rencontrez des problèmes, veuillez remplir des rapports de bogue. Pour cette version, vous pouvez toujours utiliser l’ancienne version degcov
de GCC, qui est disponible engcov-4.2
. 11919694 mis à jour
Problèmes connus
Modification des interfaces utilisateur
- Les vues personnalisées ajoutées à une vue de pile dans Interface Builder peuvent rester bloquées dans un état « vues mal placées » (incohérentes). Pour contourner ce problème, définissez une taille intrinsèque d’espace réservé pour la vue personnalisée avec des priorités appropriées de résistance à la compression et de protection du contenu. (15778653)
Essai
Serveur Xcode
- Les fonctionnalités d’intégration continue (bots) de Xcode 5.1 nécessitent OS X Server v3.1 (ou une version bêta d’OS X Server 3.1) ou une version ultérieure. mis à jour
- S’il existe d’anciennes copies de Xcode sur l’hôte du serveur, Xcode Server affiche parfois tous les simulateurs. Essayez uniquement d’utiliser des simulateurs adaptés à une utilisation avec Xcode 5.1. (15465692 et 15153869)
- Xcode Server proposera tous les appareils ou tous les simulateurs même si aucun ne correspond aux critères du projet. Si vous sélectionnez un appareil ou un simulateur inapproprié, vous risquez d’obtenir une erreur similaire à celle-ci :
xcodebuild: error: No destinations were specified with the -destination flag which were valid for the specified scheme
. Pour éviter que cela ne se produise, spécifiez uniquement des appareils ou des simulateurs valides pour votre projet. (15465222)
- Parfois, lorsque vous essayez de créer un nouveau référentiel local sur OS X Server via Xcode, Xcode peut afficher un message d’erreur similaire à :
xcode-select: note: no developer tools were found at '/Applications/Xcode.app', requesting install. Choose an option in the dialog to download the command line developer tools.
Pour résoudre ce problème, suivez les invites de la boîte de dialogue affichée sur le système hôte OS X Server. (15475078 et 15486464)
- Parfois, après la mise à niveau vers Xcode 5.1 et OS X Server 3.1, la première fois que vous ajoutez un serveur, vous pouvez voir une erreur similaire à :
"
is running a version of OS X Server that cannot be used with this version of Xcode." Quittez et redémarrez Xcode une fois pour effacer ce message. mis à jour
Simulateur iOS
Général
- Lors de la validation de plusieurs applications en séquence à l’aide de l’organisateur Xcode, des avertissements erronés concernant les ID de bundle peuvent être émis. Si ces avertissements se produisent, quittez et relancez Xcode entre les validations. mis à jour
- Les exécutables créés par Xcode 5.1 peuvent planter sur OS X v10.5. (15852259) mis à jour
Problèmes résolus
Essai
- Le
XCTAssertEqual
macro (anciennementSTAssertEquals
en utilisant OCUnit) compare correctement les valeurs scalaires de différents types sans conversion, par exemple,int
etNSInteger
. Il ne peut plus accepter de types non scalaires, tels que des structures, pour comparaison. (14435933)
Général
- Les applications OS X qui nécessitent un profil de provisionnement, comme celles utilisant iCloud, sont désormais créées, leur code est correctement signé et elles se lancent. (15841159)
Obsolescences
- OCUnit et le framework SenTestingKit sont obsolètes et seront supprimés d’une future version de Xcode. Le code source utilisant OCUnit génère des avertissements lors de sa compilation dans Xcode 5.1. Migrez vers XCTest en utilisant la commande de menu « Edition > Refactorisation > Convertir en XCTest… ».
- Le framework ATS est obsolète. Le code source utilisant les API ATS générera des avertissements lors de la compilation. Pour la version 10.8, il n’y aura aucune perte de fonctionnalité, mais il pourrait y avoir des zones où les performances en souffriront. Remplacez tout le code ATS (y compris
ATSUI
) avecCoreText
. La fonctionnalité ATS sera supprimée dans les prochaines versions d’OS X. Plus d’informations sur ce changement sont disponibles dansGuide de programmation du texte de base.
FTC : Nous utilisons des liens d’affiliation automatiques générant des revenus. Plus.