Lin*_*ang 85 crash ios ios9.2 xcode8
当我使用Xcode 8 GM Seed构建我的应用程序并在iOS 9.2下面的设备或模拟器上运行时,我在应用程序启动期间或应用程序启动后几秒钟发生奇怪的EXC_BAD_ACCESS崩溃.崩溃总是发生在不同的地方(添加子视图[UIImage imageNamed:],app委托的主要方法等).当我在iOS 9.3+或10上运行它时,我没有得到那些崩溃,当我使用Xcode 7 构建并在iOS 9.2及更低版本上运行时,我没有得到它们.有没有其他人经历类似的事情?这是Xcode 8的已知问题吗?
Kos*_*sky 55
请参阅接受的答案https://forums.developer.apple.com/thread/60919
您可以使用Preview.app将16位资产保存为8位资源
如何解决"ERROR ITMS-90682:无效的捆绑包 - 如果应用程序支持iOS 8或更早版本,则'Payload/XXXXX/Assets.car'的资产目录不能包含16位或P3资产."
使用Xcode 8 GM,如果您在针对iOS版本早于iOS 9.3的应用提交中包含16位或P3资源,则会出现此错误.如果您的应用需要广泛的颜色功能,则必须将部署目标更改为iOS 9.3或更高版本.如果您的应用程序不需要广泛的颜色功能,并且您希望将其部署到较旧的iOS版本,那么您应该用8位sRGB资产替换所有16位或P3资产.您可以通过在iTunes Connect的错误消息中指定的资产目录上运行"assetutil"来查找16位或P3资产.以下步骤概述了该过程:
创建一个Inspectable .ipa文件.在Xcode Organizer(Xcode-> Window-> Organizer)中,选择要检查的存档,单击"Export ...",然后选择"Export for Enterprise或Ad-Hoc Deployment".这将创建一个本地副本.适用于您的应用的ipa文件.
找到.ipa文件并将其扩展名更改为.zip.
展开.zip文件.这将生成一个包含.app包的Payload文件夹.
打开终端并将工作目录更改为.app包cd路径/到/ Payload/your.app的顶层
使用find工具在.app包中找到Assets.car文件,如下所示:find.-name'Assets.car'
使用assetutil工具在应用程序的每个Assets.car中查找任何16位或P3资产,如下所示.:
sudo xcrun --sdk iphoneos assetutil --info /path/to/a/Assets.car > /tmp/Assets.json检查生成的/tmp/Assets.json并查找包含"DisplayGamut"的任何内容:"P3"及其关联的"名称".这将是包含一个或多个16位或P3资产的图像集的名称.
用8位/ sRGB资产替换这些资产,然后重建您的应用程序.
更新:如果您的部署目标设置为8.3或8.4并且您有资产目录,那么即使您实际上没有16位或P3资产,也会收到相同的错误消息.在这种情况下,您需要将部署目标降低到8.2,或将其移动到9.x.
Ale*_*tev 32
我希望这个bash脚本可以帮助你.输入参数是包含项目的所有xcassets的目录.此脚本将sRGB配置文件设置为所有png.它帮助了我:)
#!/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 "------------------------------"
Run Code Online (Sandbox Code Playgroud)
小智 13
编辑脚本将png文件转换为整个项目中的正确格式并使用空格:
#!/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 "------------------------------"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16188 次 |
| 最近记录: |