Xcode 6 GM inclut désormais des simulateurs pour iPhone 6 et 6 Plus et, par défaut, ils exécutent les applications en mode redimensionné.
Pour activer la nouvelle taille d'écran, j'ai essayé d'ajouter [email protected]
, ce qui semble faire partie de l'astuce puisque l'application ne s'exécute plus du tout, avec l'erreur "Impossible d'exécuter l'application dans le simulateur - Une erreur s'est produite lors de l'exécution (Domain = LaunchServicesError, Code = 0) ".
Quelqu'un at-il compris comment faire fonctionner une application avec une résolution de 6/6 +?
Vous pouvez ajouter un fichier d'écran de lancement qui semble fonctionner pour plusieurs tailles d'écran. Je viens d'ajouter MainStoryboard en tant que fichier d'écran de lancement, ce qui a empêché la mise à l'échelle de l'application. Je pense que j'aurai besoin d'ajouter un écran de lancement permanent plus tard, mais cela a permis à la résolution native de fonctionner rapidement. Dans Xcode, accédez à votre cible générale, puis ajoutez-y le fichier d'écran de lancement.
Si vous utilisez des catalogues d'actifs, accédez au catalogue d'actifs LaunchImages et ajoutez les nouvelles images de lancement des deux nouveaux iPhones. Vous devrez peut-être cliquer avec le bouton droit de la souris et choisir "Ajouter une nouvelle image de lancement" pour afficher un emplacement où ajouter les nouvelles images.
L'iPhone 6 (Retina HD 4.7) nécessite une image de lancement portrait de 750 x 1334.
L'iPhone 6 Plus (Retina HD 5.5) requiert des images au format portrait et paysage, respectivement de 1242 x 2208 et 2208 x 1242.
J'ai créé des écrans de lancement noirs de base qui permettront à l'application de s'adapter correctement à l'iPhone 6 et à l'iPhone 6+:
Si vous avez déjà une LaunchImage dans votre .xcassett, ouvrez-la, passez au troisième onglet du menu de droite dans Xcode et cochez les images iPhone iOS 8.0 pour les ajouter à l'ensemble existant. Ensuite, faites glisser les images sur:
Je ne voulais pas introduire un catalogue d'actifs.
Selon la réponse de seahorseseaeo ici , ajouter ce qui suit à info.plist a fonctionné pour moi. (Je l'ai édité en tant que "code source".) J'ai ensuite nommé les images [email protected] et [email protected].
<key>UILaunchImages</key>
<array>
<dict>
<key>UILaunchImageMinimumOSVersion</key>
<string>8.0</string>
<key>UILaunchImageName</key>
<string>Default-667h</string>
<key>UILaunchImageOrientation</key>
<string>Portrait</string>
<key>UILaunchImageSize</key>
<string>{375, 667}</string>
</dict>
<dict>
<key>UILaunchImageMinimumOSVersion</key>
<string>8.0</string>
<key>UILaunchImageName</key>
<string>Default-736h</string>
<key>UILaunchImageOrientation</key>
<string>Portrait</string>
<key>UILaunchImageSize</key>
<string>{414, 736}</string>
</dict>
</array>
Notez que l'iPhone 6 utilisera la résolution de 320 ppt (640px) si vous avez activé le "Zoom d'affichage" dans iPhone> Paramètres> Affichage et luminosité> Afficher.
Faites ce qui suit (voir sur la photo)
faites un clic droit et choisissez "Ajouter une nouvelle image de lancement"
Une erreur s'est produite lors de l'exécution (Domain = LaunchServicesError, Code = 0)
Cela indique généralement que installd a renvoyé une erreur lors du processus d'installation (ressources incorrectes ou similaires).
Malheureusement, Xcode n’affiche pas l’erreur sous-jacente réelle (n'hésitez pas à archiver les doublons de ce bogue connu).
Vous devriez vérifier ~/Library/Logs/CoreSimulator/CoreSimulator.log qui enregistrera l’erreur sous-jacente pour vous.