iOS 测试之非代码获取 iPhone 型号及其他信息
首先
安装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种:px、pt。这两个有什么区别呢?
先搞清基本概念:
px就是表示pixel,像素,是屏幕上显示数据的最基本的点;
pt就是point,是印刷行业常用单位,等于1/72英寸。
px全称为pixel,是一个点,它不是自然界的长度单位,谁能说出一个“点”有多长多大么?可以画的很小,也可以很大。如果点很小,那画面就清晰,我们称它为“分辨率高”,反之,就是“分辨率低”。所以,“点”的大小是会“变”的,也称为“相对长度”。
pt全称为point,但中文不叫“点”,查金山词霸可以看到,确切的说法是一个专用的印刷单位“磅”,大小为1/72英寸。所以它是一个自然界标准的长度单位,也称为“绝对长度”。
因此就有这样的说法:
- pixel是相对大小,
- point是绝对大小。
iPhone各种屏幕分辨率
iOS 测试之非代码获取 iPhone 型号及其他信息的更多相关文章
- iOS测试基础(命令篇)-iPhone型号及其他信息
首先安装libimobiledevice和ideviceinstaller brew uninstall ideviceinstaller brew uninstall libimobiledevic ...
- iOS获取设备型号、装置类型等信息
iOS获取设备型号.设备类型等信息 设备标识 关于设备标识,历史上盛行过很多英雄,比如UDID.Mac地址.OpenUDID等,然而他们都陆陆续续倒在了苹果的门下.苹果目前提供了2个方法供App获取设 ...
- iOS获取设备型号和App版本号等信息(OC+Swift)
iOS获取设备型号和App版本号等信息(OC+Swift) 字数1687 阅读382 评论3 喜欢10 好久没有写过博客了,因为中间工作比较忙,然后有些个人事情所以耽误了.但是之前写的博客还一直有人来 ...
- iOS获取手机型号、iOS获取当前app的名称和版本号
NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary]; CFShow(infoDictionary); // ap ...
- iOS获取iPhone系统等信息和服务器返回空的异常处理
前言: 在项目中经常会遇到需要获取系统的信息来处理一些特殊的需求和服务端返回为空的处理,写在这里只是笔记一下. 获取设备的信息 NSLog(@"globallyUniqueString=%@ ...
- 通过JAVA代码获取手机的一些基本信息(本机号码,SDK版本,系统版本,手机型号)
代码如下: package com.zzw.getPhoneInfos; import android.app.Activity; import android.content.Context; im ...
- iOS 获取设备型号以及IP地址
首先导入四个头文件 #include <sys/types.h> #include <sys/sysctl.h> #include <ifaddrs.h> #inc ...
- iOS判断iPhone型号
链接: http://stackoverflow.com/questions/11197509/ios-how-to-get-device-make-and-modelhttp://stackover ...
- iOS 的 APP 如何适应 iPhone 5s/6/6Plus 三种屏幕的尺寸?(转)
原文:http://www.niaogebiji.com/article-4379-1.html?utm_source=tuicool 初代iPhone 2007年,初代iPhone发布,屏幕的宽高是 ...
随机推荐
- eMMC基础技术2:eMMC概述
0.前言 本文主要参考eMMC规范,从总体上对eMMC 进行简要介绍.主要包含如下的内容: (1)eMMC系统的总体架构 (2)eMMC的总线协议 (3)device controller (4)fl ...
- React的Element的创建和render
React的Element是React应用程序的最小构建块,它是用来描述我们在屏幕上看到的浏览器页面上的内容. 在React中构建 Element 有两种方式: 1.JSX的方式,JSX不是React ...
- Kafka监控KafkaOffsetMonitor【转】
1.概述 前面给大家介绍了Kafka的背景以及一些应用场景,并附带上演示了Kafka的简单示例.然后,在开发的过程当中,我们会发现一些问题,那就是消息的监控情况.虽然,在启动Kafka的相关服务后,我 ...
- 【转】HashMap实现原理及源码分析
哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景极其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,而HashMap的实现原理也常常出 ...
- <TCP/IP>Internet地址结构回顾
本章介绍了Internet中使用的网络层地址,又称IP地址. 要想在网上冲浪,一个设备至少要有一个IP地址(PS:我用赛风FQ的时候,居然自动更换了IP地址,顿时感觉很神奇但是不知道为什么) ***成 ...
- 004_zookeeper运维之maxClientCnxns overflow
一. 线上默认设置:maxClientCnxns=120 #可通过修改这个值来进行解决 二. 在10.103.110.51这个ip上执行以下命令,进行查看连接情况 [root@10.103.101 ...
- (常用)xml-pickle-shevel-json模块
json,pickle模块 1. 什么是序列化 序列化指的是将内存中的数据类型转换成一种中间格式,该格式可以用来存到硬盘中或者基于网络传输 2. 为 ...
- Linux VPS基础命令 - cp复制文件命令
cp命令在Linux VPS操作和应用过程中还是比较常用的,我们可以用来复制文件或者文件夹,重命名一个新的文件以及复制到其他路径中用于文件的转移. 举例用法: 1.复制root目录下的itbulu.c ...
- delhpi:http超时设置(转载)
原文地址:http://www.delphitop.com/html/kongjian/544.html var FHTTPClient:TIdHTTP; begin FHTTPClient := T ...
- bootstrapValidator使用总结
1.根据条件动态增删检查条件 参考文章:https://blog.csdn.net/sxlzs_/article/details/78211928 #去除某字段的验证 $("#formRes ...