iOS后台下载及管理库 发表于 2017-09-18 | 分类于 iOS开发 说起下载第一个想起的就是ASI。一年前接手的新项目是核心功能是视频相关业务,在修改和解决视频下载相关的问题的时候让我体会到了ASI的下载的强大。后来新需求需要视频后台下载,使用NSURLSession的时候,更加深刻的体会到了ASI的强大好用。 后来替换下载的时候的原因: ASI开启后台下载功能,在iOS10的设备上,只能下载三分钟,然后就处于休眠状态 AFN下载也是三分钟 测试后台下载的时 ... 阅读全文 »
iOS逆向开发环境搭建 发表于 2017-09-16 | 分类于 iOS逆向和安全 逆向开发工具 可越狱iPhone一台 电脑一部 诸多软件等 iPhone越狱设备详情: iPhone 5s Version: iOS 9.3.2 13F69 Mac电脑一台,VMware Fusion, Win7爱思助手,pp越狱助手 越狱注意点: 部分iOS版本并不支持越狱,比如:iOS8.4.1, iOS9.1不支持越狱。所以选择/购买机器时,查询对应机型的版本是否支持越狱 注意版本编 ... 阅读全文 »
ARM汇编 发表于 2017-08-07 | 分类于 iOS逆向和安全 ARM 寄存器 ARM共有37个32位寄存器,其中31个为通用寄存器,6个为状态寄存器.这些寄存器不能被同时访问,但在任何时候,通用寄存器R0~R14,程序计数器PC,一个或两个状态寄存器都是可访问的. arm64有32个64bit长度的通用寄存器x0~x30,sp,可以只使用其中的32bit w0~w30。 arm32只有16个32bit的通用寄存器r0~r12, lr, pc, sp. ... 阅读全文 »
汇编 发表于 2017-08-04 | 分类于 iOS逆向和安全 单位说明 在计算机中最小的信息单位,称之为位(bit,又称比特)。 存储器中所包含存储单元的数量称为存储容量,其计量基本单位是字节(Byte。简称B) 数据传输是以大多是以“位”(bit,又名“比特”)为单位。一个位就代表一个0或1 。 1bit = 1b 数据存储是以“字节”(Byte)为单位。1B = 8bit = 8b 1KB = 1024B = 1024 * 8b = 8Kb 总线 ... 阅读全文 »
Socket-进行UDP广播数据(GCDAsyncUdpSocket) 发表于 2016-10-21 | 分类于 iOS开发 在做一个App的时候,有一个需求是服务端在局域网当中发送广播数据,然后连接到此局域网当中的客户端接收到广播数据后,对广播数据做出相应地回复。在这个需求当中广播的唯一的好处就是客户端连接到局域网当中不需要知道服务端的IP地址,客户端通过收到服务端的广播消息之后,从广播报文当中获取到服务端的IP地址。唯一的不足是广播是一个耗能的操作,要控制好广播时间和广播的频率。 客户端和服务端之间通信我们当然要用s ... 阅读全文 »
Xcode-Search-Paths相关配置 发表于 2016-10-19 | 分类于 iOS开发 开发的过程当中,导入第三方库(framework/.a)或者下载使用别人的demo会经常会遇到一些关于库的导入的问题。而导入第三方库后,这写库的路径应该现在在导入当前项目target的Search Paths中,具体的设置路径:target -> Build Settings -> Search Paths -> Framework Search Paths 或者 Library ... 阅读全文 »
iOS国际化详解 发表于 2016-07-01 | 分类于 iOS开发 iOS的国际化功能可以使APP很方便的在不同国家的不同语言之间进行切换,大大的方便了APP走向国际。国际化的时候主要分为三个方面的国际化:InfoPlist、Xib/Storyboard以及代码的国际化。 最新脚本地址: https://github.com/onezens/AutoLocalization 脚本升级记录 2017.06.02 自动化脚本在原先作者的基础上进行修改,现在同一个文 ... 阅读全文 »
创建动静态库 发表于 2016-02-20 | 分类于 iOS开发 静态库:.framework、 .a 动态库:.framework、 .tbd 查看某一类库的的架构命令:lipo -info [静态库名] iOS真机和模拟器架构 12345678模拟器架构:4 / 4S / 5 / 5C: i386 32位5S / 6 / 6p / 6s / 6ps : x86_64 64位 真机架构:4 / 4S : armv ... 阅读全文 »
iOS9地图定位(LBS) 发表于 2016-02-16 | 分类于 iOS开发 地图定位(Location Based Service)相关的Framework:CoreLocation.framework, MapKit.framework 定位功能实现准备工作 首先在当前控制器导入: #import <CoreLocation/CoreLocation.h> 在iOS8之后要在info.plist加入请求授权key值之后才可以定位:NSLocationWhe ... 阅读全文 »
CocoaPods-详解 发表于 2016-02-05 | 分类于 iOS开发 What is cocoaPods? CocoaPods is a dependency manager for Swift and Objective-C Cocoa projects. It has over ten thousand libraries and can help you scale your projects elegantly. Interested in the new ... 阅读全文 »