Tag: 工具

什么是越狱iOS 11?

苹果公司于一周多前发布了iOS 11。 用户现在可以尝试与iDevices兼容的第一个beta版本。 新更新包括一系列功能,其中包括一些技巧,这些技巧将使您的iDevice看起来比以前的任何更新都更类似于计算机。 但是,其中一些功能以前曾在越狱的iOS设备上可用,或者在Apple提出之前在Android方式上可用。 尽管iOS 11 Beta版本已在不久前推出,但已经被越狱者破解。 安全研究人员最近在2017年中国移动安全大会(MOSEC)上公开了iOS 11 beta 2越狱事件。 越狱显然是梁靓(腾讯热衷安全实验室)工作的结果。 腾讯基恩安全实验室是一个以安全为导向的小组,致力于与应用程序,云计算技术,台式机或移动OS等相关的前沿安全研究。 只要Keen Security Lab在安全领域开展业务,他们不太可能很快就将iOS 11的越狱事件发布给公众。 但是,他们有可能与苹果公司共享它。 与苹果公司共享iOS 11的越狱行为,意味着可以在发布iOS 11之前了解到有关iOS 11潜在安全漏洞的意识。 苹果公司一直在与越狱社区玩猫捉老鼠的游戏。 即使在几次情况下,苹果公司也公开谈论过越狱者,他们修复了可用的iOS版本中的漏洞。 但是,腾讯基恩安全实验室能够入侵iOS 11无疑证明了可以毫无疑问地越狱iOS 11。 腾讯基恩安全实验室使用的实用程序使用户不仅可以越狱iOS 11,还可以通过Apple Company在不同的移动类型上使用iOS 10.3.2。 但是,黑客没有提及出于机密原因而利用的漏洞。 越狱iOS 11视频指南

顶级iOS测试框架

您知道吗, 市场是2.5亿+? 发生崩溃后,有11%的iOS用户删除了该应用 发生崩溃后,有45%的iOS用户会删除付费应用 首次崩溃后,有69%的iOS用户将停止玩游戏并删除游戏 每秒售出6–7个iOS设备 随着iOS设备的逐年爆炸,iOS成功的边缘比以往任何时候都高。 越来越多的初创企业和中小型企业发现,购买具有不同操作系统版本和硬件规格的每台iOS设备在财务上都不可持续。 另一方面,由于效率和可伸缩性问题,手动测试应用或游戏不再是质量检查流程的理想选择。 尽管与Android相比,iOS仍然是一个更加封闭的操作系统,但是许多开放源代码测试自动化框架和工具都可以用来创建可靠的自动化测试。 借助基于云的测试解决方案,它使开发人员/测试人员能够以可扩展的方式更有效地验证应用质量,并使iOS测试任务更加轻松。 今天,我们今天将通过5个简单的示例代码来介绍5个广泛使用的iOS测试框架,以使您对开始进行iOS测试具有基本的了解。 如果您还对Android测试自动化框架感兴趣,请不要忘记查看前5个Android测试框架,其中还提供了代码示例。 阿皮 由于其在Android和iOS上的灵活性和可用性而广受欢迎,并且可以在本机,混合和Web应用程序上运行。 对于iOS测试,它使用JSONWireProtocol使用Selenium WebDriver与iOS应用程序进行交互。 为此,Appium确实很好地支持了移动Web测试,并且其用例非常相似,就好像Selenium将用于Web测试一样。 鸦片样本 driver.findElement(By.id(“ com.example.app:id/radio0”))。click(); driver.findElement(By.id(“ com.example.app:id/radio1”))。click(); driver.findElement(By.id(“ com.example.app:id/radio2”))。click(); driver.findElement(By.id(“ com.example.app:id/editText1”))。click(); driver.findElement(By.id(“ com.example.app:id/editText1”))。sendKeys(“简单测试”); driver.findElement(By.name(“ Answer”))。click(); //或使用 driver.findElement(By.id(“ com.example.app:id/button1”))。click(); XCTest与Xcode紧密结合,但仍可用于实际的iOS设备和模拟器。 XCTest允许开发人员为任何级别的组件编写测试,并提供UI测试功能的框架。 XCTest测试被分组为XCTestCase的子类。 使用XCTest编写任何测试对于iOS开发人员来说应该是微不足道的,因为XCTest与Objective-C和Swift完全兼容。 KIF(保持功能)是一个与XCTest测试目标紧密相关并使用XCTest测试目标的iOS集成测试框架。 可以在XCTestCase或任何子类中直接执行KIF测试。 KIF通过利用OS系统为视力障碍者提供的可访问性属性,轻松实现iOS应用程序的自动化。 带有目标C的代码示例 –(void)testClicksOnRadioButtons { [测试人员tapViewWithAccessibilityLabel:@“ Radio1”]]; [测试器tapViewWithAccessibilityLabel:@“ Radio2”]; [测试人员tapViewWithAccessibilityLabel:@“ Radio3”]]; [测试人员enterText:@“简单测试” intoViewWithAccessibilityLabel:@” editText1”]; [测试人员tapViewWithAccessibilityLabel:@“答案”]]; } […]

更好的iOS项目:如何使用Mint管理工具

2018年7月3日, 沃尔夫冈·卢茨 ( Wolfgang Lutz) 在“更好的iOS项目”系列中,我们介绍了各种工具和环境,这些工具和环境对于更方便,高效地处理iOS项目很有用。 自从Swift语言(相对于其他语言而言,最近发布)以来,已经添加了许多工具来支持使用它进行开发。 我们需要SwiftLint来整理代码,使用SwiftFormat来应用格式和编码准则,使用SwiftGen摆脱所有依赖于字符串的API调用,并使用Sourcery来生成大量的代码,否则我们将不得不手工编写。 但是所有这些工具都是第三方的,因此,我们需要自己进行管理。 有关如何安装这些工具的一些方法是: 下载二进制文件 通过CocoaPods安装 通过自制软件安装 这些方法有一些缺点: 可能不支持安装方法:并非所有依赖项都可以通过CocoaPods和Homebrew作为二进制AND 获得 ,因此最终会导致系统混合。 您依赖于发布到所使用的管理器的更新,这可能需要一些时间。 您无法指定要使用的确切版本。 您可能需要使用大型二进制Blob使您的存储库混乱。 您想要为您,团队成员和CI Server使用完全相同的工具版本 。 这样,所有工具在整个开发团队中的行为方式都相同,每个人都将收到相同的警告并生成相同的代码,从而避免了行为上的差异。 您不想在要审阅您的应用的那一天被迫更新工具,因此您需要能够安装特定版本,而不必使用该工具的最新版本。 。 如果您使用的工具的最新版本存在错误(通过Sourcery随我们提供),这有助于避免出现问题。 您希望能够为每个项目安装特定版本 。 不同的项目有不同的同步需求。 在某些情况下,将工具作为全局依赖项是行不通的。 Homebrew是提供终端工具的非常好的工具。 安装其他工具是一种魅力。 但是:对于大多数工具, Homebrew不再可以选择安装工具的特定版本。 由于您无法返回到以前的版本,因此使团队成员之间的版本保持同步的唯一方法是安装可用的最新版本。 对于拥有大量项目的代理机构和其他外部开发人员来说,这绝对是不可行的。 有人总是会忘记升级Brew。 通过创建自己的Homebrew龙头可以安装自己的内部工具,但是这会增加一些额外的开销和维护。 Mint是一个依赖项管理器,在内部使用Apple的Swift Package Manager(SPM)来构建swift工具。 如果该工具是使用SPM编写的(这是能够使用CLI的外部依赖项的方法,请参阅@JohnSundell的这篇很棒的文章),通常可以使用mint来构建它,而不会出现问题。 到目前为止, SwiftLint , SwiftFormat , Marathon , XcodeGen和Sourcery是可以使用mint安装的一些最相关的工具。 下一个版本(v6.0)发行时,将可以安装SwiftGen 。 您可以找到几种在GitHub上安装mint的方法。 一种简单的方法是运行 […]

每个iOS开发人员都应使用的10个开发工具

这是我在Medium上的第一篇博客文章,我想将其专门用于开发工具,这些工具可以节省很多宝贵的时间,从而使我们(至少是我的)生活更加轻松。 对我来说,在项目上工作时最重要的是要提高生产力,并且要实现这一点,我必须找到并使用能够帮助我花更多时间并专注于实际应用功能及其复杂性的工具。 直截了当,这里是我每天使用的工具: JSON Accelerator –一种在Objective C中处理JSON数据的更好方法。当处理JSON并创建各自的模型时,这变得很痛苦。 JSON Accelerator将遵循SOLID原则自动创建模型。 就我个人而言,这是我无法缺少的工具。 它会在不到一秒钟的时间内为所提供的JSON数据生成所需的文件,而不会花费数小时手动创建它们。 不幸的是,它仅支持Objective-C,因此对于Swift,我正在使用SwiftyJSONAccelerator来完成相同的工作。 Prepo –准备,共享和预览App图稿和图标。 拖放图稿以将@ 3x和@ 2x快速转换为@ 1x,并在上下文中预览Icon图稿。 Prepo将所有图稿存储到项目窗口中,以准备批量导出,或将QuickDrop用于@ 3x和@ 2x的超快速大小调整。 您是否曾经从设计师/客户那里收到过一种尺寸不正确且命名错误的资产? 好吧,它经常发生,它们会让您处理其余的事情……该工具可以帮助您解决这种情况,因为它将所有资产转换为所需的大小,并为您正确命名。 它还可以将您的应用程序图标转换为所有所需的大小。 CocoaControls –是一个了不起的网站,您可以在其中找到超过5000个Swift和Objective-C开源GitHub库。 因此,下一次,而不是四处寻找应用程序所需的一些UI组件,只需访问该站点,您将找到所需的一切。 Postman –是一款用于与HTTP API进行交互的Google Chrome应用。 它为您提供了一个友好的GUI,用于构造请求和读取响应。 我的实践是在项目中实现API之前先构建和测试它们。 它拥有超过300万用户。 CocoaPods –是Swift和Objective-C Cocoa项目的依赖项管理器。 它拥有超过32,000个库,并在超过210万个应用程序中使用。 CocoaPods可以帮助您优雅地扩展项目。 我必须在我从事的每个项目中都包含的另一种工具…除了在整个项目中保留外部库并在添加它们之后遇到各种问题之外,您还可以使用CocoaPods以一种优雅的方式解决所有问题,并将所有内容都保存在一个地方一些终端命令行。 JSON Formatter –您是否曾经收到没有格式的JSON响应,而您几乎无法理解其结构? 这就是为什么我开始使用此Google Chrome扩展程序的原因,并且浏览器中的JSON响应不再出现视觉问题。 我建议您也这样做,并且保证您会喜欢自动格式化的回复。 Sympli –与Photoshop,Sketch,Android Studio和Xcode合作的团队的设计移交和实施。 我必须说,对于一个可加快您的UI实施速度的插件而言,这是一个非常有趣的概念。 这就是它的工作原理……创建一个项目,然后设计师从Web版本添加他的文件,然后转到Xcode项目并安装插件,只需按一下按钮,它将在UIViewController和还为组件创建所需的插座。 这个插件没有太多经验,但是我鼓励您尝试一下并分享您的印象。 我还将分享一些未在开发中直接使用的工具,但它们也是重要的一部分: SearchMan –如果您在AppStore上拥有自己的应用程序,并且想跟踪您的关键字排名和应用程序的可见性,则可以使用此免费的ASO工具,该工具将为您提供有关应用程序位置的见解。 […]

Synx —快速解决旧的/未维护的XCode项目

这是“ 全部与工具有关 ”周期 的第3条 。 所以, 最近,我承担了一项任务,即分析一个iOS项目并准备描述性文档,以便估算准备Android克隆所需的工作量。 尽管绝对不是最好的估算方法,但这是一个相当坚持的要求,要尽可能接近iOS应用程序体系结构进行Android克隆-以便可预测地维护两个应用程序。 我开始看这个项目,它看起来结构很规则(到目前为止非常好): 我通常要做的第一件事是根据经验,通过编写的代码量来估计复杂性。 我为此使用cloc(这也是简单但功能强大的工具): machine_name:目录名petr $ cloc TargetName 517个文本文件。 501个唯一文件。 忽略105个文件。github.com/AlDanial/cloc v 1.74 T = 4.69 s(87.8文件/秒,10433.4行/秒) ————————————————– —————— 语言文件空白注释代码 ————————————————– —————— 斯威夫特333 7380 4814 34714 JSON 78 0 0 2025 C / C ++标头1 2 5 1 ————————————————– —————— 和:412 7382 4819 36740 ————————————————– —————— 好的,333个Swift文件和34714 SLOC。 […]

适用于iOS开发人员的75种基本工具

如果您要去木工大师的商店,您总是会发现他或她用来完成各种任务的大量工具。 在软件中,是相同的。 您可以通过软件开发人员使用工具的方式来衡量他们。 经验丰富的软件开发人员会掌握他们的工具。 深入学习当前的工具,并注意替代现有工具的不足,这一点很重要。 考虑到这一点,我向您介绍了一系列庞大的工具。 我每天都会使用其中的一些工具,而我发现其中一些工具有潜力。如果您想在这里看到更多工具,只需确保添加评论即可。 我尽力将这些分类。 其中一些条目是网站,一些条目是后端服务,但大多数条目是您安装的应用程序。 并非所有的应用程序都是免费的,因此我会用$记笔记以表明某个应用程序需要付费。 事不宜迟,我们将从任何项目的开头开始, 灵感 pttrns —出色的iOS屏幕设计库,可按任务分类。 例如,如果您想查看其他应用程序如何处理活动供稿,那么这里是查看大量示例的好地方。 TappGala —不错的应用程序设计的另一个很好的集合。 它不是按任务分类的,而只是从中汲取灵感的出色应用程序列表。 iOS示例—可以在iOS应用中使用的大量组件(代码)列表。 有时,您会找到很多可以节省时间的代码,而有时候,您可以学习其他开发人员如何完成某些功能。 订阅他们的每周新闻; 所有信号,噪音很小。 IICNS —真的很棒的图标的集合。 受到启发,但不要复制。 Dribbble —一些最好的数字设计师将他们的作品发布给所有人看。 值得一看的设计宝库。 Capptivate-鼓舞人心的设计画廊。 有些包含动画。 谢谢, @joaopmaia ! 设计 Mocks($)-易于使用的工具,可用于快速创建iOS应用程序的模型。 附带了一堆默认控件,您可以使用它们快速组装某些东西。 简报($)-一个非常有用的应用程序,可让您创建一个应用程序的模型并将它们缝合在一起,以便您可以看到交互。 部署到设备上,以便您可以看到手中的感觉。 橡子($)-Photoshop的强大竞争对手,只有这样便宜。 我发现自己越来越少地接触Photoshop了。 正在积极发展中。 草图($)-基于矢量的绘图工具,如今随着屏幕尺寸和像素密度的变化而变得越来越有用。 通常,设计一次很有帮助,并且可以根据需要自由缩放。 还具有强大的出口系统。 对于一些示例Sketch项目,请查看Sketchmine。 请参阅我在Sketch上的截屏视频以进行实时演示。 Teehan + Lax的iOS 7 PSD-如果您(或您的设计师)使用Photoshop,这是一个超级方便的资源。 也提供iOS 6版本。 Bjango的Photoshop Actions […]

如何在Xcode中配置构建脚本

本文档提供有关如何配置构建脚本以在执行命令行工具的每个构建上运行的逐步说明。 以SwiftLint为例。 步骤1:首先,在构建脚本中安装要执行的工具(例如,通过Homebrew或Mint) 酿造安装swiftlint 步骤2:在Xcode中,选择目标以将构建脚本添加到 步骤4:点击+按钮,然后选择New Run Script Phase 步骤5:通过双击文本Run Script来重命名新脚本 步骤6:将以下脚本复制到Shell: /bin/sh下面的文本字段中Shell: /bin/sh Xcode复制脚本时会破坏所有缩进。 只需手动重新缩进即可。 步骤7(可选): 拖放您的构建脚本以指定应以哪个顺序运行。 现在只需构建您的目标( Cmd+B )即可查看它的工作原理。 请注意,脚本将确保仅在安装工具后才执行该工具。 其他未安装该工具的项目开发人员将看到Xcode警告,指出: 未安装SwiftGen,请从https://github.com/realm/SwiftLint下载 就是这样,快乐的编码! 本文 由 CihatGündüz 撰写 , Jamit Labs iOS开发 主管

2017年适用于iOS应用开发的我的工具集

嗨,开发人员,我想分享我的iOS开发工具集列表,我不会描述框架或代码段,仅描述我在Mac上使用的应用或服务,对我来说是必需的,使生活变得更轻松。 出色的工具可以使您的日常工作变得更加有趣或愉快。 开始! 当然,第一件事是GIT客户端。 我正在使用Source Tree 。 2.图形编辑器。 也许您的团队中有一位设计师,但是无论如何,有时您需要在图形编辑器中执行一些操作。 例如:删除Alpha通道,调整大小,更改颜色等。对于这些任务,我更喜欢使用Pixelmator。 它不是免费工具,但值得。 3.使用不同的后端需要进行一些测试,查找API中的错误或类似的东西。 我推荐邮差 。 4.计时器。 我在工作时总是使用计时器,这种方法可以更好地控制您的时间。 它不仅适用于每小时合同,而且您可以更好地管理所有正在执行的任务的时间。 您正在感觉自己的生产力。 我的建议是Tyme 。 简单的工具,没有困难,项目和时间都很喜欢。 感觉您的生产力:) 5.颜色选择器。 大多数开发人员会说,您可以使用免费的Web服务选择颜色,很多。 我知道,但是有些情况下我没有互联网连接,因此我一直在工作,所以出色的拾色器的离线版本可以节省时间。 我的选择是Drop 。 6.任务管理。 实际上,我不会去描述管理和通信工具。 但是trello我不仅用于项目管理,还用于个人任务,目标,说明。 强烈推荐。 这是一个链接 。 7.持续集成,持续部署。 我的建议是buddybuild 。 想象一下,您有一台专用的Mac,但是无需编写脚本来构建项目,进行部署等。该服务会观察您的存储库,并且如果进行了一些更改,它将进行构建和部署。 如果您是旅游者或在旅途中工作,这确实是不可替代的。 如果您的Internet连接不畅,您只需要几兆字节即可推送到存储库,其他操作将由该服务完成。 或者您的笔记本电脑电池没电了,或者您没有时间编译大型项目,在这种情况下, buddybuild将为您提供帮助。 8.图像优化工具。 对于每个应用程序,构建大小始终很重要。 优化 。 9. MakeAppIcon 。 为应用程序图标生成所有图像可以节省您的时间。 10. 齐普林 。 简单生成图像,字体,颜色等。单击几下便产生了资产。 11.文本编辑器。 当然,每个开发人员都会审阅或编辑一些json […]