iOS8家族崩坏手机能玩吗崩坏了吗

ios开发(84)
iOS 10 出来了,项目需要适配,更新Xode8 后,项目运行iOS 8.4 真机时,出现莫名其妙崩溃的问题。在网上寻求解决方案时发现了这篇博文–
看完文章后,发现操作有点复杂。点开博文文献!!!发现了这个
Update: If your Deployment Target is set to either 8.3 or 8.4 and you have an asset catalog then you will
receive this same error message, even if you do not actually have 16-bit or P3 assets. In this case you will
either need to lower your Deployment Target to 8.2, or move it up to 9.x.
结合项目另一个端Deployment Target 为8.0运行没问题,将发现此问题的端的Deployment Target 从8.4改为8.0 后运行就没问题了,简单快速。&( ̄3 ̄)& Xcode更新真是…涨姿势。
如果你刚刚升级了Xcode8,而你的项目的Deployment Target是iOS 9.3以下,运行iOS8的时候过了几十秒后crash到main函数,出现EXC_BAD_ACCESS,或者崩溃到imageNamed:,或者每次编译运行随机崩溃到某个地方。那么恭喜你,你读完这个文章你可能就解决了。
二、崩溃原因
在Xcode8中,如果你的图片资源文件里有16位图或者图片显示模式为P3,并且Deployment Target是iOS9.3以下的就会出现这个问题。(话说我公司的项目里面就出现了一个小按钮,导致了这次崩溃,不知道设计师是怎么弄出来的这个特殊图片…)如果你的App需要支持wide color functionality,那你就必须设置Deployment Target为iOS9.3以上。如果你的APP不需要支持wide color functionality并且你希望兼容iOS老版本,那么你需要将所有16-bit or P3 assets的图片转换为8-bit sRGB assets
三、定位到问题图片
1.打一个ipa包,解压你的应用的ipa包,进入到你应用的Playload文件夹。
// 在终端中打开 (补充)
cd ../Playload
2.用find命令定位到Assets.car文件
find . -name 'Assets.car'
3.使用 assetutil 命令导出图片的信息存储到Assets.json文件中
sudo xcrun --sdk iphoneos assetutil --info /path/to/a/Assets.car & /tmp/Assets.json
4.打开刚才生成的Assets.json文件,查找含有”DisplayGamut” : “P3”, “Encoding” : “ARGB-16″的内容。这个对应的Name就是出现问题的图片了。
打开json文件 (补充)
open /tmp/Assets.json
"SizeClass Vertical" : "universal",
"Graphics" : "GLES2,0",
"Name" : "ianisme.com",
"Scale" : 2,
"Idiom" : "universal",
"Memory" : "512MB",
"LayoutDirection" : "0 - Horizontal",
"DisplayGamut" : "P3",
"Encoding" : "ARGB-16",
"SizeClass Horizontal" : "universal",
"Image Type" : "kCoreThemeOnePartScale",
"AssetType" : "Image",
"Subtype" : 0,
"EdgeInsets" : "top:0 left:0 bottom:0 right:0"
四、转换图片为8-bit sRGB assets格式
我们找到这个图片,然后CMD+i 查看这个图片的信息,我们发现我这个出问题的文件的颜色描述文件有问题,和别的图片文件不一样。出问题的图片:
1.方法一(单个处理问题图片):
下面我们使用ColorSync实用工具将这个描述文件修改下
xcode8crash3
指派它的描述文件为sRGB IEC,保存。
xcode8crash4
再次编译运行我们的APP,发现问题解决了!
2.方法二(暴力处理所有图片):
这里我们使用bash script直接处理所有图片为正确格式,这样我们就不用去定位是哪个图片的问题了,或许更方便一些。
#!/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
echo "---$xcasset"
IMAGESETS="$(find "$xcasset" -name '*.imageset')"
for imageset in $IMAGESETS
echo "------$imageset"
FILES="$(find "$imageset" -name '*.png')"
for file in $FILES
echo "---------$file"
sips -m "/System/Library/Colorsync/Profiles/sRGB Profile.icc" $file --out $file
echo "------------------------------"
echo "script successfully finished"
echo "------------------------------"
出现这个问题真的很蛋疼,但是最后终于解决了。每一次Apple编译器的升级都会伴随着大大小小的问题,只要我们怀着一颗不抛弃不放弃的决心,最后一定可以攻克难题。最后要感谢公司同事的指导,还要感谢以下参考文献的作者们,没有他们的实践,这个问题或许困扰更久。The page is temporarily unavailable
nginx error!
The page you are looking for is temporarily unavailable.
Please try again later.
Website Administrator
Something has triggered an error on your
This is the default error page for
nginx that is distributed with
It is located
/usr/share/nginx/html/50x.html
You should customize this error page for your own
site or edit the error_page directive in
the nginx configuration file
/etc/nginx/nginx.conf.当前位置: >
iOS8应用会崩溃吗_iOS8应用崩溃情况多吗
Q:iOS8应用会崩溃吗_iOS8应用崩溃情况多吗?A:iOS 8 正式发布已经 6 个多星期,根据 Crittercism 发布的最新数据,iOS 8应用的崩溃率目前为 2.6%,而 9 月 22 日时这个数字为 3.6%,而他们认为这其中的原因是开发者已经调整适应,并发布更新,修复了引起崩溃的问题。Crittercism 对大约20,000 款移动应用进行统计,其中不乏 eBay、Groupon、Netflix、PayPal 和雅虎等应用。运行iOS 8.1的设备和运行 iOS 8/8.0.1/8.0.2 的设备相比,应用的崩溃率更低。数据显示 iOS 8.1 设备的应用崩溃率为 2.15%,比 iOS 8/8.0.1/8.0.2 的低 19%。Crittercism 认为应用崩溃率降低的原因包括多方面原因,开发者对应用进行了调整和升级,另外苹果方面也在努力修复漏洞和问题,而且使用iPhone 6 和 iPhone 6 Plus 的新用户越来越多(iOS 8 针对这两款设备进行优化),这些因素都会促使崩溃率降低。Crittercism 还统计 了iOS 8 在用户中的采用率,他们同样认为 iOS 8 的采用速度并没有 iOS 7 的快。苹果上周发布的数据显示,目前运行 iOS 8 系统的设备已经达到 52%。
扫一扫,关注265G果粉网官方微信,最新iPhone8资讯抢先看
扫描左侧二维码即可添加265G果粉网官方微信,您也可以在微信公众号上搜索“265G果粉网”,关注后即可每天了解最新iPhone动态。
扫码关注官方微信
获取苹果一手资讯
扫码关注官方微博
获取最新苹果情报
265G推荐游戏一张图片引发的iOS8运行崩溃 - 简书
一张图片引发的iOS8运行崩溃
背景:在项目中偶遇一奇葩问题:APP运行在iOS9、iOS10上以及模拟器上没有问题,运行在iOS8上一打开就闪退。调查问题:通过Xcode排查,发现有日志输出:malloc: *** error for object 0x: Invalid pointer dequeued from free list*** set a breakpoint in malloc_error_break to debug多次运行,每次都有上边的日志输出,而且crash到main函数,出现EXC_BAD_ACCESS。Exception Breakpoint会指向一个imageNamed:函数,但不是一定的。问题很怪异,通过崩溃日志锁定几个控制器,我把控制器从项目中注释,问题依旧存在。没办法只能拿着错误日志找万能的度娘,终于让我发现有网友遇到和我一样的问题:,在上边这篇文章的评论里寻根索源找到一篇参考文章:,文章里描述的现象跟我遇到的基本是一样的,我就尝试了里边定位到问题图片的方法。解决方法:步骤1.
在.ipa文件中找到Assets.car拷贝到桌面。步骤2. 打开终端。步骤3. 运行命令 :sudo xcrun --sdk iphoneos assetutil --info /Users/peter/Desktop/Assets.car & /Users/peter/Desktop/temp/Assets.json
其中/Users/peter/Desktop/Assets.car是Assets.car的全路径,/Users/peter/Desktop/temp/Assets.json是所有图片信息将要被导入到的一个全路径文件。步骤4. 打开Assets.json,查找含有”DisplayGamut” : “P3”, “Encoding” : “ARGB-16″的内容。步骤5.
找到内容的对应的图片名称。如下图:
步骤6. 找到图片money_test(是我截出来的临时图片,不小心放到Assets里了)。步骤7.
在工程资源文件中找到并删掉这个问题图片(有些时候可能需要改变一下格式即可),然后重新运行APP,发现崩溃问题解决。总结:一张小小的图片居然能导致整个APP的闪退,这引起了我对APP资源管理的重要性有了一个全新的认识。希望有遇到一样问题的伙伴有个参考。
一名热爱iOS和Java的开发者
github:https://github.com/liuyuanming
AFNetworking网络请求组件SDWebImage多个缩略图缓存组件FMDB本地数据库组件UICKeyChainStore存放用户账号密码组件Reachability监测网络状态DateTools友好化时间MBProgressHUD一款提示框第三方库MWPhotoBr...
问题: 日志输出 crash 到main函数,打全局断点也定位不到具体位置,问题很奇怪,百度后找到一篇文章https://www.ianisme.com/ios/2409.html依据这篇文章我做了尝试并解决了这个bug 解决方法:1、找到包 鼠标右击,show in fi...
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金相信有很多朋友...
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金 相信有很多...
Swift版本点击这里欢迎加入QQ群交流:
最新更新日期:17-11-01 About A curated list of iOS objective-C ecosystem. How to Use Simply presscommand+F+&xxx...
今天是日重庆接连下了好几天的雨今天终于见晴,我用手机留住了这晴朗的天空。 我将这美丽的画面传给一个远在英国的朋友,他也礼尚往来的返回一张英国画面 不同的地理位置,配着不同的风景,让我感受到文化的差异。我们相互约定着,好的照片好的风景我们彼此分享着。
目前,我国正逐渐开始向专业化、规模化方向发展,汽车金融发展潜力巨大,蕴藏着巨大的商机,根据中国汽车工业协会的预测,到2025年,中国汽车金融业将有5250亿元的市场容量。汽车金融加盟的兴起,有力地激活了汽车消费市场。 全盛资本作为链接银行、金融机构和全国各地的贷款公司的桥梁...
豆荚加速器仅提供加速器技术服务,用户使用豆荚加速器从事的任何行为均不代表豆荚加速器的意志和观点,与豆荚加速器的立场无关。严禁用户使用豆荚加速器从事任何违法犯罪行为,产生的相关责任用户自负,对此豆荚加速器不承担任何法律责任。 请先搞起来。原来是这种方法来解决问题; 原来请告诉...
在开发中,当遇到用户未登录的时候,点击某个tabbarItem提示用户来登录,如果用户取消,还会停留在之前的界面. 这里补充一种情况:比如说我点击购物车弹出登录控制器,然后成功登录后显示购物车 ,登陆不成功还是原来的界面
http://pan.baidu.com/s/1qYLqkDe

我要回帖

更多关于 崩坏3能用手柄玩吗 的文章

 

随机推荐