首先

安装 libimobiledevice 和 ideviceinstaller

$ brew uninstall ideviceinstaller
$ brew uninstall libimobiledevice
$ brew install --HEAD libimobiledevice
$ brew link --overwrite libimobiledevice
$ brew install ideviceinstaller
$ brew link --overwrite ideviceinstaller

应用相关

1、 安装应用(真机)

$ ideviceinstaller -i xxx.ipa

2、 卸载应用(真机)

$ ideviceinstaller -U <bundleId>

3、 获取应用唯一标识

$ unzip xxx.ipa
$ cd Payload/xxx.app
$ defaults read `pwd`/Info CFBundleIdentifier
com.test

4、从源码构建应用安装包

这里只举 debug 包

$ cd /source-folder/
$ PROJECT=<your-project-name>
$ xcodebuild clean -project $PROJECT.xcodeproj -configuration Debug -alltargets
$ xcodebuild archive -project $PROJECT.xcodeproj -scheme $PROJECT -archivePath $PROJECT.xcarchive
# 注意,末尾的 exportProvisioningProfile 参数值是在 Xcode 的 Performance->Accounts->Apple ID->View Details 窗口的下半部分看到的名称。如 iOS Team Provisioning Profile: chj.ToDoList
$ xcodebuild -exportArchive -archivePath $PROJECT.xcarchive -exportPath $PROJECT -exportFormat ipa -exportProvisioningProfile "your provision profile"
# build 完的 ipa 包直接就放在当前目录

设备相关

1、查看设备中的应用列表

$ ideviceinstaller [-u <device-udid>] -l
Total: 46 apps
com.xiaojukeji.didi - 滴滴出行 4.1.5.0
com.tencent.mqq - QQ 6.0.0.424

2、获取真机实时日志

$ idevicesyslog [-u <device-udid>]

3、获取当前连接的设备列表

# 注意:这里列出的设备包括模拟器及 mac 电脑本身
$ instruments -s devices

iPhone 信息相关

1、获取 iPhone 的 udid

$ idevice_id -l

2、获取 ios 手机信息

$ ideviceinfo 

3、获取 ios 手机信息,并以 xml 形式显示

$ ideviceinfo -x 

4、获取手机型号

$ ideviceinfo -k ProductType 

5、获取系统版本

$ ideviceinfo -k ProductVersion

6、获取手机名称

$ ideviceinfo -k DeviceName 

注:获取手机型号与实际手机型号对照

获取手机型号 实际手机型号
iPhone3,1 iPhone 4
iPhone3,2 iPhone 4
iPhone3,3 iPhone 4
iPhone4,1 iPhone 4S
iPhone5,1 iPhone 5
iPhone5,2 iPhone 5 (GSM+CDMA)
iPhone5,3 iPhone 5c (GSM)
iPhone5,4 iPhone 5c (GSM+CDMA)
iPhone6,1 iPhone 5s (GSM)
iPhone6,2 iPhone 5s (GSM+CDMA)
iPhone7,1 iPhone 6 Plus
iPhone7,2 iPhone 6
iPhone8,1 iPhone 6s
iPhone8,2 iPhone 6s Plus
iPhone8,4 iPhone SE
iPhone9,1 国行、日版、港行 iPhone 7
iPhone9,2 港行、国行 iPhone 7 Plus
iPhone9,3 美版、台版 iPhone 7
iPhone9,4 美版、台版 iPhone 7 Plus

px 与 pt 区别

字体大小的设置单位,常用的有 2 种:pxpt。这两个有什么区别呢?

先搞清基本概念:

px就是表示 pixel,像素,是屏幕上显示数据的最基本的点;

pt就是 point,是印刷行业常用单位,等于 1/72 英寸。

px全称为 pixel,是一个点,它不是自然界的长度单位,谁能说出一个 “点” 有多长多大么?可以画的很小,也可以很大。如果点很小,那画面就清晰,我们称它为 “分辨率高”,反之,就是 “分辨率低”。所以,“点” 的大小是会 “变” 的,也称为 “相对长度”。

pt全称为 point,但中文不叫 “点”,查金山词霸可以看到,确切的说法是一个专用的印刷单位 “磅”,大小为 1/72 英寸。所以它是一个自然界标准的长度单位,也称为 “绝对长度”。

因此就有这样的说法:

iPhone 各种屏幕分辨率

2017-10-18

iOS 系统历史版本概览

日期 版本号
2013.09.18 iOS 7.0
2013.09.20 iOS 7.0.1
2013.09.26 iOS 7.0.2
2013.10.22 iOS 7.0.3
2013.11.14 iOS 7.0.4
2014.01.29 iOS 7.0.5
2014.02.21 iOS 7.0.6
2014.03.10 iOS 7.1
2014.04.22 iOS 7.1.1
2014.06.30 iOS 7.1.2
2014.09.17 iOS 8.0
2014.09.24 iOS 8.0.1
2014.09.25 iOS 8.0.2
2014.10.20 iOS 8.1
2014.11.17 iOS 8.1.1
2014.12.09 iOS 8.1.2
2015.01.27 iOS 8.1.3
2015.03.09 iOS 8.2
2015.04.08 iOS 8.3
2015.06.30 iOS 8.4
2015.08.13 iOS 8.4.1
2015.09.16 iOS 9.0
2015.09.23 iOS 9.0.1
2015.09.30 iOS 9.0.2
2015.10.21 iOS 9.1
2015.12.08 iOS 9.2
2016.01.19 iOS 9.2.1
2016.03.21 iOS 9.3
2016.03.31 iOS 9.3.1
2016.05.16 iOS 9.3.2
2016.07.18 iOS 9.3.3
2016.08.04 iOS 9.3.4
2016.08.25 iOS 9.3.5
2016.09.13 iOS 10
2016.09.13 iOS 10.0.1
2016.09.23 iOS 10.0.2
2016.10.17 iOS 10.0.3
2016.10.24 iOS 10.1
2016.10.31 iOS 10.1.1
2016.12.12 iOS 10.2
2017.01.23 iOS 10.2.1
2017.03.28 iOS 10.3
2017.04.11 iOS 10.3.1
2017.05.16 iOS 10.3.2
2017.07.20 iOS 10.3.3

其他版本参考:http://api.ineal.me/tss/status


↙↙↙阅读原文可查看相关链接,并与作者交流