2018-10-15 13:06:10 u012709932 阅读数 324
  • iOS动态库注入

    本课程主要针对iOS动态库注入技术做了详细讲解和实战演示,分为技术篇和运维篇,最终目标是将动态库注入到目标ipa包中,并且执行动态库中的代码,实现动态库与ipa交互。 技术篇 - 主要从基础知识、涉及工具,以及一个完整的手动注入实例流程来讲解,面向技术开发人员; 运维篇 - 通过利用自动注入工具、重签名工具来可视化的注入动态库,面向运维等非技术人员;课程目录课程简介1,课程目标和大纲技术篇2,基础知识 - 动态库 3,基础知识 - IPA包4,基础知识 - Mach-O5,基础知识 - 代码注入6,基础知识 - 重签名 7,涉及工具 - Xcode/iOSOpenDev/Terminal8,涉及工具 - yololib/MachOView/iFunBox/iReSign 9,实例演示 - 创建.dylib动态库10,实例演示 - 创建测试APP11,实例演示 - 手动注入动态库(开发模式) 12,实例演示 - 手动注入动态库(重签名模式)运维篇13,运维篇 - 准备工作14,运维篇 - 实战演示15,运维篇 - 技术支持课程总结16,课程总结

    17 人正在学习 去看看 王明敏

##问题分析:

使用iOS系统9.2.1的手机,真机调试情况下,即Debug 模式,App不会出现任何崩溃,运行没有问题。然而,打包发布到App Store上面去的时候,即Release模式,用手机从App Store上面下载,运行,则出现各种崩溃,不规律崩溃等等。


发现 [ iOS 原生二维码生成与扫描 ] (https://github.com/kingsic/SGQRCode)
在这个开源项目中的图片 SGQRCodeFlashlightOpenImage@2x.png 在iOS 9.2.1系统上运行出现崩溃问题。


##原理:
在 Xcode 8 中,当你资源文件中[含有16位图]或者[图片显示模式γ值为'P3']且iOS targets设定为iOS 9.3以下就会出现这个问题, 如果你的app需要支持广色域显示的话,那你必须得把target设置成iOS 9.3+,相反,如果你的app不需要支持广色域且你想兼容 iOS 9.3 之前的项目,你就得把所有的16位的或者显示模式为'P3'图片全都替换成8位模式的SRGB颜色的图片。

##步骤:(源于网络,侵权删!)

  1. 打包,导出项目的 ipa 文件

  2. 定位到该ipa文件修改后缀名 .ipa 为.zip.

  3. 解压该 .zip 文件. 解压后的目录里面会有一个包含着你的 app bundle 文件的 Payload 文件夹.

  4. 打开终端病切换到你的app的Payload文件夹下的 .app bundle 文件夹内,形式如下:
    cd path/to/Payload/your.app

  5. 用 find 命令定位到 Assets.car 文件 .app bundle , 形式如下:
    find . -name 'Assets.car'

    比如:SGQRCodeExample这个工程,find 的结果为:
    ./SGQRCodeExample.app/Assets.car

  6. 使用 assetutil 命令找到任何包含着 16-bit or P3 的资源文件, 对每个 Assets.car 之行以下命令 :
    sudo xcrun --sdk iphoneos assetutil --info/path/to/a/Assets.car> /tmp/Assets.json
    注:这里的/path/to/a/Assets.car指的是Assets.car的路径,不要直接复制!!!使用上一步find命令的结果。

    比如:SGQRCodeExample这个工程打包后,命令应该为:

    sudo xcrun --sdk iphoneos assetutil --info ./SGQRCodeExample.app/Assets.car> /tmp/Assets.json
    
  7. 打开上一步生成的 /tmp/Assets.json 文件并查找包含有 “DisplayGamut": “P3” 或者相关的内容. 这段json的"Name"字段对应的值就是16位或显示的γ值为P3的资源文件名.
    以下是完成图片,再提醒,注意这个info /path/to/a/Assets.car,按照我的终端命令来就可以的了。

希望各位开发者能够轻松解决这个问题。

##参考链接:
简书:http://www.jianshu.com/p/4bc0c5b3b597
StackOverFlow : http://stackoverflow.com/questions/39404285/xcode-8-build-crash-on-ios-9-2-and-below
官方链接:https://forums.developer.apple.com/thread/60919


** 完 **

2019-07-10 17:33:03 m0_37271466 阅读数 44
  • iOS动态库注入

    本课程主要针对iOS动态库注入技术做了详细讲解和实战演示,分为技术篇和运维篇,最终目标是将动态库注入到目标ipa包中,并且执行动态库中的代码,实现动态库与ipa交互。 技术篇 - 主要从基础知识、涉及工具,以及一个完整的手动注入实例流程来讲解,面向技术开发人员; 运维篇 - 通过利用自动注入工具、重签名工具来可视化的注入动态库,面向运维等非技术人员;课程目录课程简介1,课程目标和大纲技术篇2,基础知识 - 动态库 3,基础知识 - IPA包4,基础知识 - Mach-O5,基础知识 - 代码注入6,基础知识 - 重签名 7,涉及工具 - Xcode/iOSOpenDev/Terminal8,涉及工具 - yololib/MachOView/iFunBox/iReSign 9,实例演示 - 创建.dylib动态库10,实例演示 - 创建测试APP11,实例演示 - 手动注入动态库(开发模式) 12,实例演示 - 手动注入动态库(重签名模式)运维篇13,运维篇 - 准备工作14,运维篇 - 实战演示15,运维篇 - 技术支持课程总结16,课程总结

    17 人正在学习 去看看 王明敏

 

SDK Version Issue. This app was built with the ios 11.4 SDK. All ios apps submitted to the App Store

just be built with the ios 11 SDK or later, included in Xcode 9 or later. Further, starting March 2019

all ios apps submitted to the App Store must be built with the ios 12.1 SDK or later, included in Xcode

10.1 or later

An unknown error occurred

SDK版本问题。此应用程序是使用iOS 11.4 SDK构建的。所有提交到应用商店的iOS应用程序

只需使用iOS11sdk或更高版本构建,包含在xcode 9或更高版本中。此外,从2019年3月开始

提交到应用商店的所有iOS应用程序必须使用iOS 12.1 SDK或更高版本构建,包含在Xcode中。

10.1或更高版本

发生未知错误

 

 

 

 

2019-10-05 20:45:54 zyxgtwsjgzs 阅读数 48
  • iOS动态库注入

    本课程主要针对iOS动态库注入技术做了详细讲解和实战演示,分为技术篇和运维篇,最终目标是将动态库注入到目标ipa包中,并且执行动态库中的代码,实现动态库与ipa交互。 技术篇 - 主要从基础知识、涉及工具,以及一个完整的手动注入实例流程来讲解,面向技术开发人员; 运维篇 - 通过利用自动注入工具、重签名工具来可视化的注入动态库,面向运维等非技术人员;课程目录课程简介1,课程目标和大纲技术篇2,基础知识 - 动态库 3,基础知识 - IPA包4,基础知识 - Mach-O5,基础知识 - 代码注入6,基础知识 - 重签名 7,涉及工具 - Xcode/iOSOpenDev/Terminal8,涉及工具 - yololib/MachOView/iFunBox/iReSign 9,实例演示 - 创建.dylib动态库10,实例演示 - 创建测试APP11,实例演示 - 手动注入动态库(开发模式) 12,实例演示 - 手动注入动态库(重签名模式)运维篇13,运维篇 - 准备工作14,运维篇 - 实战演示15,运维篇 - 技术支持课程总结16,课程总结

    17 人正在学习 去看看 王明敏

苹果今天凌晨发布了iOS9.2第二个测试版本——iOS9.2 beta2,此次更新的版本号为13C5060d。现在小编为大家带来了iOS9.2 beta2固件下载地址汇总,有需要的快来看看吧。

 

  此次更新在iOS9.2 Beta1的基础上加强了Safari浏览器与第三方app的兼容性,另外还对Done按钮位置进行了调整,目前该按钮已由旧版本的界面左上角位置调至右上角,更加方便单手操作。

  根据此前的消息,iOS9.2将会重点修复与iPad Pro有关的系统问题。据悉,iPad Pro将预装iOS9.1系统,不过用户在拿到该设备后,苹果可能会通过iOS9.2修复一些严重的Bug。

  如果是之前已经安装了开发者版本iOS9.2 beta的用户,现在可以直接进入设置查看软件更新升级,拥有开发者账号的用户也可以到苹果官方的开发者人员中心网站进行下载。需要注意的是,升级后将无法还原到早期版本的iOS系统。

  以下是iOS9.2 Beta2固件下载地址汇总,需要的网友可根据自己的机型下载。

  下载地址:(进入后找到Ne pas attendre点击下载即可)

  iPhone

  iPhone 4[S]

  iPhone 5 (GSM) –Model A1428

  iPhone 5 (Global) –Model A1429

  iPhone 5c (GSM) –Model A1456, A1532

  iPhone 5c (Global) –Model A1507, A1516, A1526, A1529

  iPhone 5s (GSM) –Model A1453, A1533

  iPhone 5s (Global) –Model A1457, A1518, A1528, A1530

  iPhone 6 Plus

  iPhone 6

  iPhone 6S Plus

  iPhone 6S

  iPad

  iPad 2 (WiFi)

  iPad 2 (GSM)

  iPad 2 (CDMA)

  iPad 2 Rev A (Mid 2012)

  iPad Mini (WiFi) –Model A1432

  iPad Mini (GSM) –Model A1454

  iPad Mini (Global) –Model A1455

  iPad 3 (WiFi)

  iPad 3 (CDMA) –Model for Verizon

  iPad 3 (GSM) –Model for ATT

  iPad 4 (WiFi) –Model A1458

  iPad 4 (GSM) –Model A1459

  iPad 4 (Global) –Model A1460

  iPad Air (WiFi) –Model A1474

  iPad Air (Cellular) –Model A1475

  iPad Air (China) –Model A1476

  iPad Mini 2 (WiFi) –Model A1489

  iPad Mini 2 (Cellular) –Model A1490

  iPad Mini 2 (China) –Model A1491

  iPad Mini 3 (WiFi) –Model A1599

  iPad Mini 3 (Cellular) –Model A1600

  iPad Mini 3 (China) –Model A1601

  iPad Mini 4 (WiFi) –Model A1538

  iPad Mini 4 (Cellular) –Model A1550

  iPad Air 2 (WiFi) –Model A1566

  iPad Air 2 (Cellular) –Model A1567

  iPod

  iPod touch 5

  iPod touch6

2017-06-09 12:08:47 u011212411 阅读数 4266
  • iOS动态库注入

    本课程主要针对iOS动态库注入技术做了详细讲解和实战演示,分为技术篇和运维篇,最终目标是将动态库注入到目标ipa包中,并且执行动态库中的代码,实现动态库与ipa交互。 技术篇 - 主要从基础知识、涉及工具,以及一个完整的手动注入实例流程来讲解,面向技术开发人员; 运维篇 - 通过利用自动注入工具、重签名工具来可视化的注入动态库,面向运维等非技术人员;课程目录课程简介1,课程目标和大纲技术篇2,基础知识 - 动态库 3,基础知识 - IPA包4,基础知识 - Mach-O5,基础知识 - 代码注入6,基础知识 - 重签名 7,涉及工具 - Xcode/iOSOpenDev/Terminal8,涉及工具 - yololib/MachOView/iFunBox/iReSign 9,实例演示 - 创建.dylib动态库10,实例演示 - 创建测试APP11,实例演示 - 手动注入动态库(开发模式) 12,实例演示 - 手动注入动态库(重签名模式)运维篇13,运维篇 - 准备工作14,运维篇 - 实战演示15,运维篇 - 技术支持课程总结16,课程总结

    17 人正在学习 去看看 王明敏

终于有时间写博客了,讲述一下前段时间遇到的坑,自己挖的坑。

版本发布上线后,客户反馈app运行闪退。测试没问题呀,于是我上友盟查问题,哇塞,崩溃概率好高,ios9.3以下版本会崩溃。

友盟反馈以下错误提示,完全不知道问题出在哪里。

Application received signal SIGTRAP

那就找来一部ios9.2的手机连机调试吧,装上跑起来没问题呀。

既然debug调试没问题,那我们试release调试也没问题,再试发布一个企业版本调试也没问题。。。但是从app store下载运行就奔溃。我也崩溃了。

后来想既然只有从app store下载才出现问题,难道是打包的时候出问题了?于是重新打包上传到iTunes Connection发布,没错,还是奔溃。。。

然后就上网各种查找Xcode8打包iOS9线上奔溃问题的资料,最终锁定到了P3资源文件的问题上。

图片资源文件里有16位图或者图片显示模式为P3,这是什么鬼?不知道哪张图片。


那我们接着定位问题图片。

1、打一个ipa包,改为zip格式解压,进入Payload文件夹。打开终端执行

cd /Users/Desktop/test/Payload/test.app

2、用find命令定位到Assets.car文件

find . -name 'Assets.car'

3、使用 assetutil 命令导出图片的信息存储到Assets.json文件中

sudo xcrun --sdk iphoneos assetutil --info ./Assets.car > /tmp/Assets.json

4、打开生成的Assets.json文件

open /tmp/Assets.json

5、查找含有”DisplayGamut” : “P3”, “Encoding” : “ARGB-16″



左图为不符合的图片信息简介


果然有一张坑爹的图不懂规矩。老脸一红,这张图是我自己P的。。。懒的让美工改了,自己动手了。真是手欠啊!!!


更换了图片,重新打包发布,ok,没毛病。

2015-12-09 03:08:00 weixin_34148340 阅读数 20
  • iOS动态库注入

    本课程主要针对iOS动态库注入技术做了详细讲解和实战演示,分为技术篇和运维篇,最终目标是将动态库注入到目标ipa包中,并且执行动态库中的代码,实现动态库与ipa交互。 技术篇 - 主要从基础知识、涉及工具,以及一个完整的手动注入实例流程来讲解,面向技术开发人员; 运维篇 - 通过利用自动注入工具、重签名工具来可视化的注入动态库,面向运维等非技术人员;课程目录课程简介1,课程目标和大纲技术篇2,基础知识 - 动态库 3,基础知识 - IPA包4,基础知识 - Mach-O5,基础知识 - 代码注入6,基础知识 - 重签名 7,涉及工具 - Xcode/iOSOpenDev/Terminal8,涉及工具 - yololib/MachOView/iFunBox/iReSign 9,实例演示 - 创建.dylib动态库10,实例演示 - 创建测试APP11,实例演示 - 手动注入动态库(开发模式) 12,实例演示 - 手动注入动态库(重签名模式)运维篇13,运维篇 - 准备工作14,运维篇 - 实战演示15,运维篇 - 技术支持课程总结16,课程总结

    17 人正在学习 去看看 王明敏
没有更多推荐了,返回首页