免安装免配置环境的免费 ios 调试工具 sib 来啦

简介: sib是以gidevice为底层实现的iOS调试工具,因为go语言特性,编译好的二进制文件可以直接运行,所以不需要额外配置python环境或者go环境,直接下载3M左右的包解压就可以使用啦!sonic组织也在持续参与建设gidevice。当前迭代了数月,到达了1.1.2版本,基础功能如下:

sib是以gidevice为底层实现的iOS调试工具,因为go语言特性,编译好的二进制文件可以直接运行,所以不需要额外配置python环境或者go环境,直接下载3M左右的包解压就可以使用啦!sonic组织也在持续参与建设gidevice。当前迭代了数月,到达了1.1.2版本,基础功能如下:

设备基础信息获取、设备监听
App安装卸载、启动终止
查看进程信息
启动xctest相关,如:启动Wda、Fastbot_iOS
获取电池相关信息
重启关机
代理转发
崩溃信息收集
模拟定位与取消(部分App不生效)
屏幕旋转监听
系统日志获取
性能采集(Doing)
截图
文件管理

以上功能皆跨平台,即Windows、Mac、Linux都可以使用。

UI自动化的应用(Appium)

以Java为例:
先用sib启动wda(需要指定端口可以参考官网文档的参数)

sib run wda

然后在脚本里配置Driver

       DesiredCapabilities desiredCapabilities = new DesiredCapabilities();
        desiredCapabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, Platform.IOS);
        desiredCapabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, AutomationName.IOS_XCUI_TEST);
        desiredCapabilities.setCapability(MobileCapabilityType.NEW_COMMAND_TIMEOUT, 3600);
        desiredCapabilities.setCapability(IOSMobileCapabilityType.COMMAND_TIMEOUTS, 3600);
        desiredCapabilities.setCapability(MobileCapabilityType.NO_RESET, true);
        desiredCapabilities.setCapability(MobileCapabilityType.DEVICE_NAME, 【设备名称,也可以通过sib获取】);
        desiredCapabilities.setCapability(MobileCapabilityType.UDID, udId);
        desiredCapabilities.setCapability("wdaConnectionTimeout", 60000);
        desiredCapabilities.setCapability(IOSMobileCapabilityType.WEB_DRIVER_AGENT_URL, "http://127.0.0.1:8100");
        desiredCapabilities.setCapability("useXctestrunFile", false);
        desiredCapabilities.setCapability(IOSMobileCapabilityType.SHOW_IOS_LOG, false);
        desiredCapabilities.setCapability(IOSMobileCapabilityType.SHOW_XCODE_LOG, false);
        desiredCapabilities.setCapability("skipLogCapture", true);
        desiredCapabilities.setCapability(IOSMobileCapabilityType.USE_PREBUILT_WDA, false);

        new IOSDriver("http://localhost:4723/wd/hub", desiredCapabilities);

即可启动。

在 Fastbot 应用

sib run xctest  -b bytedance.FastbotRunner.xxxxxxx.xctrunner -e 
BUNDLEID=com.xxxxxx.internalapp -e duration=1 -e throttle=500

注意,因为wda和fastbot部分底层是相同,所以同时启动wda和fastbot会阻塞哦

获取 App 图标

加上-i参数即可获取icon,格式为base64

sib app list -i

前端渲染后效果如图

App的管理还有很多,例如安装、卸载、启动、强杀

sib app install
sib app uninstall
sib app launch
sib app kill

屏幕旋转监听

sib orientation

您会获得类似的输出

orientation: 1

获取设备信息

sib devices -d -f

你会获得类似输出

{
        "deviceList": [
                {
                        "deviceId": 1,
                        "connectionSpeed": 0,
                        "connectionType": "USB",
                        "locationId": 0,
                        "productId": 4776,
                        "serialNumber": "0000****-001****6F****E",
                        "status": "online",
                        "deviceDetail": {
                                "generationName": "iPhone 13 Pro",
                                "deviceName": "iPhone",
                                "deviceColor": "1",
                                "deviceClass": "iPhone",
                                "productVersion": "15.4.1",
                                "productType": "iPhone14,2",
                                "productName": "iPhone OS",
                                "passwordProtected": true,
                                "modelNumber": "*****",
                                "serialNumber": "*****",
                                "simStatus": "kCTSIMSupportSIMStatusReady",
                                "phoneNumber": "+86 *****",
                                "cpuArchitecture": "arm64e",
                                "protocolVersion": "2",
                                "regionInfo": "CH/A",
                                "telephonyCapability": true,
                                "timeZone": "Asia/Shanghai",
                                "uniqueDeviceID": "*****",
                                "wifiAddress": "*****",
                                "wirelessBoardSerialNumber": "*****",
                                "bluetoothAddress": "*****",
                                "buildVersion": "*****"
                        }
                }
        ]
}

相关功能还有很多很多,这里就不全部放出来啦,推荐前往官方文档查看更多详细信息哦!

sib run wda -b your.wda.bundleId
sib run xctest -b your.wda.bundleId
sib app list
sib app launch
sib devices listen
sib app uninstall
sib screenshoot
sib ps
sib crash
sib location
sib oritation
sib battery
sib info
...

结语

sib还在持续更新中,正在挖掘无人触碰的领域,也欢迎有能力的小伙伴参与建设 ~

官网文档(下载、安装、文档):

https://sonic-cloud.gitee.io/#/SIB

用户社区(提bug、需求):
https://sonic-cloud.wiki/

Github:
https://github.com/SonicCloudOrg/sonic-ios-bridge

对接口感兴趣的小伙伴可以看这个哦~
https://developer.aliyun.com/article/982252?spm=a2c6h.26396819.creator-center.24.2f063e18usnSmp

相关文章
|
20天前
|
Java Android开发 iOS开发
探索安卓与iOS开发的差异性:平台、工具和用户体验的对比分析
【7月更文挑战第30天】在移动应用开发的广阔天地中,安卓和iOS两大平台各自占据着不可忽视的地位。本文将深入探讨这两大平台在开发环境、工具选择以及最终用户体验上的根本差异,并分析这些差异如何影响开发者的策略和用户的偏好。通过比较安卓的开放性与iOS的封闭性,我们将揭示不同平台下的开发哲学及其对生态系统的影响。
28 4
|
27天前
|
IDE 开发工具 Android开发
安卓与iOS开发环境对比分析
在移动应用开发的广阔舞台上,安卓与iOS这两大操作系统各占半壁江山。它们在开发环境上的差异,不仅影响了开发者的编码体验,也在一定程度上塑造了应用生态的多样性。本文将深入探讨两者在开发工具、编程语言、用户界面设计以及市场分布等方面的不同特点,为即将踏入这一领域的开发者提供一盏明灯。
|
28天前
|
IDE 开发工具 Android开发
安卓与iOS开发环境的差异性分析
在移动应用开发的广阔舞台上,安卓和iOS两大操作系统各据一方,引领着市场潮流。它们各自拥有独特的开发环境和工具集,为开发者提供了不同的挑战与机遇。本文旨在深入剖析这两个平台的开发环境,通过比较它们的编程语言、集成开发环境(IDE)、用户界面设计、以及系统架构等方面,揭示各自的优势与局限。我们将探讨如何基于这些差异来优化开发策略,并预测未来可能的发展趋势,以期为开发者在选择平台时提供有价值的参考。
|
26天前
|
开发工具 Android开发 数据安全/隐私保护
探索iOS与安卓应用开发的异同:技术、工具和市场趋势
在移动操作系统的广阔舞台上,iOS和安卓两大主角各自演绎着怎样的精彩?本文将深入剖析这两大平台在应用开发过程中的技术差异、开发工具的选择以及面对的市场环境。通过数据支撑和案例分析,我们将一窥这两个系统如何影响开发者的决策,并探讨它们未来的发展方向。
|
27天前
|
开发工具 Android开发 iOS开发
探索Android与iOS开发环境的差异性
在移动应用开发的广阔天地中,Android和iOS两大平台如同双子星座般耀眼。本文将深入探讨这两个操作系统的开发环境,揭示它们在编程语言、工具、用户界面设计以及性能优化等方面的显著差异。通过对比分析,旨在为开发者提供清晰的平台选择指导,并帮助他们理解各自环境下的最佳实践。
|
28天前
|
API 开发工具 Android开发
安卓与iOS开发环境对比分析
移动操作系统的两大巨头,安卓和iOS,各自拥有独特的开发环境和工具。本文将深入探讨两者的开发环境差异,从编程语言、开发工具、用户界面设计、API支持以及生态系统五个维度进行比较分析。通过数据支撑和案例研究,揭示各自的优势和局限性,为开发者选择适合自己项目需求的平台提供参考依据。
32 1
|
28天前
|
IDE API Android开发
安卓与iOS开发环境的差异及适配策略
在移动应用开发的广阔舞台上,Android和iOS两大操作系统各据一方,各自拥有独特的开发环境和工具集。本文旨在深入探讨这两个平台在开发环境上的关键差异,并提供有效的适配策略,帮助开发者优化跨平台开发流程。通过比较Android的Java/Kotlin和iOS的Swift/Objective-C语言特性、IDE的选择、以及API和系统服务的访问方式,本文揭示了两个操作系统在开发实践中的主要分歧点,并提出了一套实用的适配方法,以期为移动开发者提供指导和启示。
|
1月前
|
开发工具 Android开发 Swift
安卓与iOS开发环境对比分析
在移动应用开发的广阔天地中,安卓和iOS两大平台各自占据半壁江山。本文深入探讨了这两个操作系统的开发环境,从编程语言、开发工具到用户界面设计等多个维度进行比较。通过丰富的数据支持和案例研究,揭示了不同平台的优势与挑战,为开发者提供了宝贵的参考信息。
|
1月前
|
安全 开发工具 Android开发
安卓与iOS开发环境对比分析
本文通过深入探讨和比较安卓与iOS两大主流移动操作系统的开发环境,旨在为开发者提供一个全面的视角。我们将从开发工具、编程语言、用户界面设计、性能优化、安全性考量等多个维度进行细致分析,揭示各自平台的优势与挑战。通过统计数据支持的实证研究,本文将展示两个系统在实际应用中的技术差异及其对项目开发周期的影响,并基于市场数据评估各自的商业潜力。
20 1
|
1月前
|
监控 开发工具 Android开发
探索安卓与iOS开发的差异:平台特性、工具和市场趋势
在移动应用开发的广阔舞台上,安卓与iOS两大操作系统扮演着主角。它们各自拥有独特的平台特性、开发工具和市场定位,这些差异深刻影响着开发者的决策和产品的最终形态。本文将深入分析这两大平台的关键技术差异,探讨各自的开发环境和工具集,以及它们在市场上的表现和未来的趋势,为开发者提供一个全面的视角,帮助他们在这两个平台上做出更明智的开发选择。