Quand j'ai créer mon application avec Xcode 8 Semences GM et de l'exécuter sur un iOS 9.2 ci-dessous de l'appareil OU de simulateur, j'ai d'étranges EXC_BAD_ACCESS accidents au cours de l'app ou de démarrage, quelques secondes après l'application lancée. Le crash se produit toujours dans un endroit différent (l'ajout d'une sous-vue, [UIImage imageNamed:]
, délégué d'application de la méthode main, etc). Je ne comprends pas ceux qui se bloque quand je le lance sur iOS 9.3+ ou 10 et je n'ai pas quand je leur construire avec Xcode 7 et de les exécuter sur iOS 9.2 et ci-dessous. Quelqu'un d'autre a l'expérience de quelque chose de semblable? Est-ce un problème connu avec Xcode 8?
Réponses
Trop de publicités?Voir la accepté de répondre à https://forums.developer.apple.com/thread/60919
Vous pouvez enregistrer les 16 bits de l'actif 8-bit avec l'Aperçu.app
Comment faire pour résoudre les "ERREUR IMT-90682: Invalid Bundle - L'actif catalogue à la Charge utile/XXXXX/Actifs.voiture' ne peut pas contenir de 16 bits ou P3 actifs si l' application prend en charge iOS 8 ou version antérieure."
Avec Xcode 8 GM, cette erreur se produit si vous incluez 16 bits ou P3 actifs dans une application de présentation de ciblage iOS versions plus tôt, puis iOS 9.3. Si votre application exige la couleur de fonctionnalités que vous devez changer votre Cible de Déploiement pour iOS 9.3 ou plus tard. Si votre application ne prend pas exiger de large de couleur de fonctionnalité et que vous souhaitez déployer pour les plus âgés les versions d'iOS alors vous devez remplacer toutes les 16 bits ou P3 actifs avec 8-bit sRGB actifs. Vous pouvez trouver la 16-bits ou P3 actifs en cours d'exécution "assetutil" sur l'actif catalogue nommé dans le message d'erreur de iTunes Connect. Les étapes suivantes décrivent le processus:
Créer un Inspectable .fichier ipa. Dans Xcode Organisateur (Xcode->Fenêtre->Organisateur), sélectionnez une archive à inspecter, cliquez sur "Exporter...", et choisissez "Export pour l'Entreprise ou au Déploiement Ad-Hoc". Cela va créer une copie locale de la .fichier ipa pour votre application.
Le localiser .fichier ipa et de modifier son extension .zip.
Développez le .fichier zip. Ceci va produire une Charge utile dossier contenant votre .app bundle.
Ouvrir un terminal et de changer le répertoire de travail pour le haut niveau de votre .app bundle cd chemin/vers/le / de Charge/de votre.app
Utilisez l'outil de recherche pour localiser les Actifs.voiture de fichiers dans votre .app bundle comme indiqué ci-dessous: trouver . -nom 'Actifs.voiture"
Utiliser le assetutil outil pour trouver toutes les 16 bits ou P3 actifs, dans chacun des Actifs.voiture de votre demande comme indiqué ci-dessous. :
sudo xcrun --sdk iphoneos assetutil --info /path/to/a/Assets.car > /tmp/Assets.json
Examiner le résultat /tmp/Actifs.json et de regarder pour tout contenu comprenant des "DisplayGamut": "P3" et de son "Nom". Ce sera être le nom de votre imageset contenant un ou plusieurs de 16 bits ou P3 les actifs.
Remplacer ces actifs avec 8 bits / sRGB actifs, puis de reconstruire votre application.
Mise à jour: Si votre Cible de Déploiement est soit 8.3 ou 8.4, et vous avez une actif catalogue ensuite, vous recevrez ce message d'erreur même, même si vous n'avez pas en fait 16 bits ou P3 actifs. Dans ce cas, vous devrez soit inférieur votre Cible de Déploiement de l'article 8.2, ou le déplacer jusqu'à 9.x.
J'espère que ce script bash peut vous aider. L'argument d'entrée est un répertoire contenant tous les xcassets de votre projet. Ce script définira le profil sRGB sur tous les pngs. Ça m'a aidé:)
#!/bin/bash
DIRECTORY=$1
echo "------------------------------"
echo "Passed Resources with xcassets folder argument is <$DIRECTORY>"
echo "------------------------------"
echo "Processing asset:"
XSAASSETSD="$(find "$DIRECTORY" -name '*.xcassets')"
for xcasset in $XSAASSETSD
do
echo "---$xcasset"
IMAGESETS="$(find "$xcasset" -name '*.imageset')"
for imageset in $IMAGESETS
do
echo "------$imageset"
FILES="$(find "$imageset" -name '*.png')"
for file in $FILES
do
echo "---------$file"
sips -m "/System/Library/Colorsync/Profiles/sRGB Profile.icc" $file --out $file
done
done
done
echo "------------------------------"
echo "script successfully finished"
echo "------------------------------"
J'ai réussi à reproduire le problème et il semble lié aux images dans Asset Catalog. A déposé un bogue avec Apple (avec l'exemple de projet ci-joint)
Apple Bug Reporter: 28371396
script édité pour convertir les fichiers png au format correct dans le projet entier et avec des espaces:
#!/bin/bash
DIRECTORY=$1
echo "------------------------------"
echo "Passed Resources with xcassets folder argument is <$DIRECTORY>"
echo "------------------------------"
echo "Processing asset:"
find "$DIRECTORY" -name '*png' -print0 | while read -d $'\0' file;
do
echo "---------$file"
sips -m "/System/Library/Colorsync/Profiles/sRGB Profile.icc" "$file" --out "$file"
done
echo "------------------------------"
echo "script successfully finished"
echo "------------------------------"