Tag: 工具

开发者工具箱

质量是我们使用工具的结果。 我们对它们越熟悉,结果就会越好(或更快)。 当然,使用最少的工具集可以取得很多成就,但是要提高生产力,我们应该始终努力掌握当前的工具,并找到可以改善工作流程的新工具。 我一直在寻找新工具,所以如果您有我不使用的工具,请告诉我。 事不宜迟,这是我的工具箱: GUI工具 1密码 保存您的密码并保存。 我使用了不同的密码管理器,但是10多年来我一直使用1Password。 短跑 曾经需要查找文档吗? 我在Dash中进行。 如果文档还不存在,我将导入它们。 这样,它们就可以脱机使用,并且所有集成(例如Xcode)都使用法变得更好。 小飞贼 想知道哪些应用程序尝试执行网络请求? 您要控制它们吗? 这是给您的工具。 我已经使用了多年了,它并没有让我失望。 网络链接调节器 作为移动开发人员,我们经常忘记,我们的应用程序未与稳定的互联网连接一起使用。 要在Macbook上复制它,我们可以使用Apples Network Link Conditioner。 只需按照您希望的方式更改网络,您的整个Mac都将具有此连接(因此,如果丢弃所有程序包以查看会发生什么情况,则在等待时无法读取reddit)。 爪子 有很多应用程序可以发送HTTP请求。 我用爪子。 使其比POSTman 更好的主要功能是链接请求。 这样,我不必每次都进行身份验证。 取而代之的是,我只运行一个命令,它执行了我需要的一切。 颤动 到目前为止,这是我最喜欢的笔记工具。 您不仅可以按集合(和子集合)对笔记进行排序,甚至还可以使用不同的单元格,这些单元格中包含代码,降价,文本等。 让它将整个注释呈现为pdf,就可以了。 里德 作为开发人员(尤其是移动开发人员),我们必须与时俱进。 通常,我们可以通过跟踪博客来做到这一点。 我通过使用Reeder来做到这一点。 这是一个汇总RSS feed的不错的小工具。 揭示 曾经有视觉缺陷吗? 是否曾与UX设计师合作? 显示是我的选择。 在一个新的代码库中,我可以启动它,查找带有错误的正确视图,找到类的名称,然后知道从哪里开始。 另一方面,借助UX设计器,我们可以坐下来实时更改属性(包括自动布局)。 真有用! 草图 每当我执行任何UI工作时,我都会在Sketch中进行。 它是如此易于使用,没有理由不这样做。 请注意,它仅是矢量,因此,如果要更改任何图像,则必须使用其他内容。 源树 […]

Bundler是iOS开发人员的好朋友

这是“ 一切都与工具有关 ”周期 的第2条 。 所以, 抽象 Bundler是一个简单而强大的Ruby gem依赖管理器。 等等,为什么标题为“ iOS developer”的Ruby? 答案很简单-两种最流行的iOS开发工具(cocoapods和fastlane)几乎完全用红宝石编写,并以Ruby gem的形式分发。 尽管您可能尚未使用fastlane,但您肯定已经听说过cocoapods,并且我99.99%的人肯定在开发过程中使用了cocoapods(或使用了它,但停止使用Carthage)。 所以,让我告诉您一些有关上述宝石的故事… 故事1 最近,我意识到我的机器上确实堆满了XCode游乐场: 其中一些是Swift独立的,另外一些则必须嵌入XCode项目中,因为它们应该与Alamofire,ReactiveSwift等3d方库一起使用。 我决定为此目的创建一个XCode项目“ PlaygroundsHost”,用我正在使用的最广泛使用的Pod填充它,然后将所有Playground缓慢移入该项目以将它们保持在单个位置。 将3d-party库集成到游乐场的流程很简单: 创建一个新项目。 关闭它。 在根文件夹中创建一个Podfile。 装上必要的豆荚(例如Alamofire) 运行pod install 运行open *.xcworkspace打开新创建的工作区 创建一个新的Playground,将其放置在项目文件夹中的某个位置(在我的情况下为$PROJECT_DIR/Playgrounds/MyPlayground.playground ) 将创建的Playground拖到XCode中。您将看到类似以下内容: Cmd + B构建所有Pod和项目 完成后,您现在可以在操场上使用import Alamofire了。 您的XCode Project Navigator选项卡如下所示: 好吧,我做到了…… 错误:无法查找符号: __T09Alamofire7requestAA11DataRequestCAA14URLConvertible_p_AA10HTTPMethodO6methods10DictionaryVySSypGSg10parametersAA17ParameterEncoding_p8encodingAJyS2SGSg7headerstFfA3_ 我很困惑,尝试使用Google问题,结果发现可可足类1.4.0和1.5.0之间的游乐场集成出现了问题。 我的本地版本是1.5.2。 一个人可以将可可豆的版本降级到某个版本吗? 绝对可以。 在项目之间进行切换时,是否值得一直上下使用版本? 绝对不… 故事2 我的开发人员几天前曾问我,我是否现在正面临一个奇怪的问题,即他正在CI配置上,而在导出存档时却遇到了“ Lottie.framework不支持配置文件”的构建失败。 我们聊了一会儿,猜测该问题可能与cocoapods更新及其Copy Frameworks构建阶段有关。 […]

结构— Fastlane安装问题

因此,我尝试通过Fabric应用程序安装Fastlane,因为这似乎是安装它的最简单方法。 fastlane命令本身似乎可以很好地安装,但是尝试运行任何fastlane工具(例如snap)会导致错误-即因为未安装这些工具。 解: 卸载由Fabric应用程序安装的fastlane版本(有一个方便的按钮)。 通过Ruby Gems手动安装fastlane。

什么是越狱iPhone X?

越狱iPhone X和iOS 11越狱都处于开发阶段。 但是,用户将能够安装越狱应用程序。 Keen Labs负责越狱iOS 11开发人员beta 2版本。 他们已成功演示了iPhone 6和iPhone 7版本的iOS 11 beta 2以及iOS 10.3.2越狱。 此特定越狱的发布日期尚未确定。 但是,预计在iPhone X和iOS 11发行后将立即越狱。越狱的调整开发人员已宣布他们正处于开发iOS 11越狱工具的工作阶段。该团队的代号为,并计划为iOS 11 64位运行设备发布半栓式越狱应用程序。 这显然意味着iPhone X包含在其设备列表中。 根据Antique_Dev的说法,另一位经过调整的开发人员尚未确定此越狱的发布日期。 但是,已经计划发布具有C ++和Objective C知识的稳定越狱工具。 立即下载:越狱iPhone X 尽管许多用户表现良好,但他们仍担心将其iDevice越狱,原因是他们可以根据自己的意愿更换设备,并可以使用其他功能。 当用户无法在股票图标中进行更改,无法记录通话并且无法执行Apple公司可能不希望您执行的任何操作时,他们可能会陷入iOS的困境。 正如名称“越狱”所建议的那样,它是一种技术,它摆脱了现有的iOS限制,并且可以无限制地访问用户的iOS系统。 越狱iPhone X的优点 您可以使用替代应用程序代替库存的iOS应用程序 可以安装Apple App Store中不可用的应用程序 您可以使用系统调整和自定义主题根据您的选择进行自定义 提供对iOS系统文件的特权访问 越狱iPhone X视频指南

BUGS BUSTERS

最佳iOS崩溃报告工具 一个真正的男人需要接受他并不完美。 大多数情况下,开发人员是男性,因此他们也不是完美的,有时您可能会发现应用程序中的错误。 他们尽力构建没有任何错误的应用程序,但通常情况下,错误会在发布后的一段时间内就已经暴露出来。 有时,此类错误会导致崩溃,而这是没有用户喜欢的。 这种错误并不是偶然地以这种特殊昆虫命名的,因为您感到的烦恼几乎就像被长腿跳屁股吸血性掠食性刺客咬伤一样。 这些向后弯曲的昆虫主要生活在热带地区或任何具有伪装和防护措施的栖息地,因此它们可以爬入墙壁并从其藏身处袭击您,而这些错误却发生在计算机程序和系统中。 它们会干扰源代码,设计或框架中现有系统的功能,导致系统产生意外的挫折并触发意外行为并最终崩溃。 不过,请放心,因为有许多出色的iOS崩溃报告工具可以帮助您将血腥的bug排除在外! 它们会显示崩溃和登录详细信息,以便您以后进行查看,甚至向您发送电子邮件通知,告知崩溃发生的时间和频率。 总结在系统中产生崩溃或无效输出的错误的报告通常称为错误报告,缺陷报告,故障报告,问题报告,故障报告,变更请求等。 随着时间的流逝,移动应用程序崩溃报告工具变得更加灵活,并且对开发人员更加友好。 它们变得易于集成,并提供了可用性,新功能和用户体验。 从用户的角度来看,崩溃超出了简单的烦恼范围。 当您的应用程序由于故障突然停止运行而没有任何反馈时,通常会导致数据丢失和用户烦恼。 使用崩溃报告器工具可使您从应用程序中收集记录中需要的所有信息,以解决这些小问题。 崩溃报告工具软件结合了两个元素,形成一个连贯的整体:报告库和服务器端收集器。 报告库的任务是介绍有关崩溃的详细信息。 服务器端组件的职责是收集崩溃数据分析和统计信息,并以适当的方式正确显示出来。 无论何时何地,都有崩溃报告工具的配方。 我们经常使用或在特定情况下使用的此故障分析中包含的所有工具选项。 这就是为什么我们没有选择奖牌获得者并提供评估选项。 目的是奖励每种工具的优势并展示其劣势。 然后,您可以得出结论,哪种崩溃报告框架可以解决潜在的应用崩溃问题。 Crashlytics (免费,crashlytics.com) Crashlytics,一个著名的库,被发现可广泛用于iOS应用程序崩溃报告。 Crashlytics最近被Twitter收购,它密切关注iOS应用中的所有崩溃活动,并立即将它们报告给服务器,并仔细查看每次崩溃的令人不安的画面。 Crashlytics在这方面非常高效,因为它可以找到导致应用程序崩溃的确切代码行,可以查看内存堆栈跟踪,因此您可以在相同的环境下重新创建崩溃。 Crashlytics最引人注目的是它的主动性。 与大多数其他工具不同,它考虑了诸如崩溃频率之类的问题并定义了“影响级别”。当特定崩溃发生时,它将通知您任何更改,并分析故障的所有后续后果。 当一遍又一遍报告同一崩溃时,Crashlytics会跟踪该数据,就像“嘿,您尚未解决一个尚未解决的问题,它开始变得值得一提。”从字面上看,崩溃,需要先处理其他事情。 对于每个用户,Crashlytics会立即为每个用户立即向所有员工发送消息,以确保制定了程序并且不会发现任何应用程序崩溃事件。 该工具易于使用,具有经过精心设计的应用程序仪表板,以及系统中发生的应用程序崩溃的所有详细信息以及崩溃的位置, 日期和时间 ,易于使用。 Crashlytics不仅报告崩溃并显示错误,而且还提供了一个界面,允许用户并简化对其的访问。 例如,如果您的应用程序的较新版本中解决了某种类型的崩溃,则可以将其标记为已修复并从仪表板中删除。 然后,Crashlytics将在您的早期版本的应用中跳过此类崩溃。 Crashlytics提供了有关您的应用程序正在使用的设备的详细信息,可帮助您了解确切的运行环境以解决问题。 这些信息包括: 内存 操作系统版本 取向 电池状态 设备是否越狱 磁盘空间 Crashlytics支持与第三方应用程序维护(如Campfire,JIRA,Hipchat,Pivotal Tracker,Redmine和Pager Duty)的集成。 Crashlytics的唯一缺点是它不支持移动应用程序分发功能。 Instabug ($ 0- $ […]

什么是iOS 11越狱?

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

使用DDHTweaks查找理想值

有时,您可能希望在野外测试时可以调整应用程序的某些值(颜色,字体大小,文本)。 或者,您想启用一项功能来对其进行测试,但还不希望向Beta测试人员展示该功能。 使用我的DDHTweaks框架,您可以做到这一点。 您只需要添加一些代码即可在应用运行时更改某些值。 这是一个简单的例子。 假设您有一个登录屏幕,并且想在显示该屏幕时为文本字段和按钮的外观设置动画。 如果您以前做过,您可能还记得为动画找到正确的值会花费一些时间,因为您必须在每次更改后进行构建和运行。 有些人甚至开始在Playgrounds中调整动画,因为它在模拟器上的测试速度更快。 使用DDHTweaks,您可以更快地找到正确的值。 注意:在此示例中,我将使用情节提要,因为这是大多数人构建其应用程序的方式。 通常我不使用情节提要。 😉 我们要设置动画的屏幕如下所示: 元素的布局是使用“自动布局”完成的。 因此,为了使外观具有动画效果,我们需要引用所有布局约束: @IBOutlet弱var labelTopConstraint:NSLayoutConstraint! @IBOutlet弱var labelUsernameConstraint:NSLayoutConstraint! @IBOutlet弱var usernamePasswordConstraint:NSLayoutConstraint! @IBOutlet弱var passwordButtonConstraint:NSLayoutConstraint! 这些约束中的每一个都定义了到布局中下一个元素的垂直距离。 为这些元素的外观设置动画的一种方法如下所示: override func viewWillAppear (_ animated: Bool ) { super.viewWillAppear (animated) labelTopConstraint . constant = – 40 labelUsernameConstraint . constant = – 40 usernamePasswordConstraint . constant = – 40 passwordButtonConstraint . […]

关于移动应用程序开发成本的另一篇文章

在互联网等平台上展示您的业务需要什么? 网站或移动应用程序,或两者兼而有之。 当前的市场趋势表明,在移动设备上运行的应用程序中提供服务是与客户进行交互的最简单方法。 在全球范围内,智能手机的便携性一直是大众使用智能手机和平板电脑的原因。 印度和全球的IT部门一直在为遇到此要求的小型企业提供此类服务。 多家供应商在IT市场中提供相同类型的服务,这使客户处于困境中,无法选择最佳交易来进行Web应用程序或移动应用程序开发。 随着移动性进入市场,移动应用程序开发是小型企业参与的关键功能。对于此类客户,选择合适的开发人员可以以可承受的成本提供应用程序开发及其功能。 加上可以在应用程序中可用功能方面提供透明开发成本的开发人员。 选择要添加到应用程序中的功能的灵活性也使客户可以选择应用程序的价格和投资。 客户所想到的基本思想是通用的应用程序,开发公司将指导并逐步引导客户使用可添加到应用程序中的各种功能,这可能会影响应用程序开发的最终成本和时间由开发人员用来开发产品。 开发移动应用程序的平均成本在$ 15,000到$ 1,00,000之间,具体取决于您选择的功能。 其中提供的功能尚不清楚,他们说它具有基本功能。 这些基本功能是什么? 想过吗? 它可以像推送通知,用户登录一样基本,或者仅在应用程序页面上显示内容。 所谓的基本功能可能在Web服务器的开头包含很小的存储空间,但是谁知道此可用存储何时耗尽,则可能需要在所有中间请求更多。 因此,在为您的企业的移动平台选择开发人员时做出正确的决定。 构建移动设备并投资相关成本取决于您为应用程序选择的平台。 主要有两个主要平台可用Android和iOS。 两个平台的成本相应地变化。 可能增加/减少预算的因素将是您要求开发人员开发的应用程序的类型。 开发包含大约成本的应用程序的基本类别如下: ·基本应用程序的成本为$ 15K-25K,具体取决于您可以向开发人员提供有关应用程序设计方面的投入。 ·涉及完整CMS,外部集成,聊天和购物车的应用程序可能要花费60,000 INR至1,000,000 INR,这是应用程序开发中最昂贵的类别。 尽管如此,您仍可以减少雇用自己的专门UI开发团队的成本,该团队专门在应用程序的设计部分工作。 最后,涉及年度费用的是应用程序的维护和支持。 由于必须定期更新应用程序,因此随着时间的推移会出现一些小故障。 因此,您需要一个支持团队来帮助您发布应用程序的稳定更新。 应用程序开发分为前端开发和后端开发人员,您可以选择将工作划分给不同的参与者,但是对于一个可以为您提供完整软件包的供应商来说,这是非常好的。 最后,我建议使用此应用程序费用计算器来了解您的移动应用程序开发的指示性价格。 Bluelupin的自定义应用程序开发成本计算器 此工具可帮助您计算开发自定义移动应用的指示性费用 calc.mobilekonnect.com

使用DBDebugToolkit调试iOS应用

“从CI获得的构建数量让我们有点不知所措。 我们安装了很多版本,过了一会儿我们不太确定我们当前在设备上安装了哪个版本。 您可以在应用程序中的某个位置添加版本并生成编号吗?” 我将永远记得在nomtek的那一刻,我们的一名测试员告诉我这个问题。 那是一个大项目的开始,所以我知道迅速解决它会在将来对他们有很大帮助。 当然,这没什么大不了的,有很多方法可以实现:咨询设计师后,可以将其添加到一个屏幕中,将其添加到“设置捆绑包”甚至是应用程序图标中。 暂时,我们将其添加到了应用主屏幕上的标签之一。 但是,在此之前,我问了一个使一切与众不同的问题:“ Android团队的朋友如何解决这个问题?”。 事实证明,他们使用的库使他们可以轻松访问许多调试工具。 您只需在屏幕上向左滑动即可显示菜单。 我真的很喜欢这个主意。 我立即开始搜索现有的库,这将有助于在iOS上实现类似的功能。 令我惊讶的是,我找不到任何类似的东西。 我一直对开放源码着迷。 当时我正在等待一个值得花些空闲时间来思考的想法,所以我很兴奋并且有动力开始在自己的图书馆工作。 当我回到家时,我打开了一个空文档,并开始写下我想在那里看到的所有功能。 在许多漫长的夜晚之后,我发布了DBDebugToolkit的第一个版本。 我的目标是提供尽可能多的有用功能,同时保持安装过程的顺利。 本文将研究DBDebugToolkit可以帮助您解决的iOS开发中常见的三个常见问题。 使用服务器 如今,绝大多数应用程序都依赖于服务器提供的数据。 通常情况下,核心业务逻辑是远程执行的,但有时在测试中可以忽略它,部分原因是后端API调用的异步特性。 此外,如果服务器端与您的应用程序同时开发,则应为一些初始问题做好准备。 DBDebugToolkit提供了您的应用程序执行的所有HTTP请求的列表,甚至包括尚未收到响应的HTTP请求。 如果响应中包含图像,则可以看到持续时间,HTTP代码甚至是缩略图。 还可以过滤列表以仅包含URL中具有指定子字符串的请求。 每个请求都可以进行彻底检查。 您可以看到所有HTTP标头和主体详细信息。 正文详细信息屏幕支持文本和图像。 如果请求以错误结尾,您还将看到所有详细信息。 作为经常使用DBDebugToolkit的人,我认为请求列表是最有用的功能之一。 它使我更仔细地了解了应用程序中至关重要但又隐藏的部分,节省了检查后端API文档所需的时间,甚至还帮助发现了琐碎的问题,例如两次发送请求。 有很多工具可以向您显示应用程序发送的请求,例如Charles Proxy。 使用DBDebugToolkit进行网络调试的独特之处在于始终启用它。 当您最终重现您担心的错误并意识到即使没有连接调试器或未启用代理时,也已经为您记录了所有请求,您一定会感激不尽。 此外,一旦从服务器获取数据,DBDebugToolkit可以帮助您验证数据到底发生了什么。 它允许您浏览文件,钥匙串, UserDefaults ,Cookie甚至是Core Data。 验证布局 我将永远记住的与DBDebugToolkit有关的另一种情况是我们的设计师Michał问我是否可以帮助他使用我的库时。 设计评审通常是开发过程的一部分,尤其是在您追求像素完美的时候。 但是,在iOS上进行操作比在Android上麻烦得多,在Android上,您可以使用单独的应用在应用顶部绘制网格并查看是否正确对齐。 iOS上的沙箱无法实现。 相反,可以使用DBDebugToolkit将负责绘制网格的代码注入到您的应用程序中。 我必须承认,我感到as愧的是,起初我只是在考虑开发人员和测试人员,而没有意识到iOS环境对设计师也很苛刻。 感谢Michał在(沙)盒子外面思考! DBDebugToolkit允许您在应用程序顶部绘制高度可定制的网格覆盖。 您可以指定覆盖图的大小,不透明度和颜色,以适合应用程序的边距和配色方案。 网格覆盖将在应用程序的开发和设计审查期间为您提供很多帮助。 它背后的故事是我最喜欢的开源方面之一的完美示例-它根据用户的需求而发展。 除了网格覆盖之外,DBDebugToolkit中还包含一项附加功能,在设计审查期间可能会有所帮助。 […]

buildflow —更好的通道?

那么不一定是更好的,而是另一种。 目标是为iOS App Developer创建一些独特而有用的工具。 名称: buildflow iOS开发人员可用的大多数工具都可以作为Web解决方案或命令行工具使用。 设计为CI服务器或任何其他自动化过程的一部分。 与此相反,我想创建一些有用的工具,这些工具: 对于每个iOS App开发人员(像我一样)都很方便 可以离线工作(对于大多数任务) 不需要任何订阅费即可购买 有一个不错的交互式用户界面 适用于每台Mac 因此,构建流程的想法诞生了。 在rogerboesch.com/buildflow上查看更多 请在kickstarter.com上提供支持,以帮助实现该项目(广告系列即将开始) 当我开始从事buildflow时 ,需要访问数据并将其回送至Apple的AppStore并从其中回送,以使其正常工作。 我之前已经根据fastlane的飞船和脚本编写了一些类似的文章。 但是对于这个项目,这还不够。 我需要一些可以集成到任何macOS甚至iOS App中的类和API(而不是脚本)。 类似的东西就像快车道太空飞船,但完全是用Swift编写的。 这是buildflow-core ,今天可以在GitHub上以早期版本使用。 我通过使用Charles Proxy并检查宇宙飞船发现了实现它所需的大多数信息。 可以肯定的是,其他人也已经在考虑做类似的事情,并且由于我还使用了来自其他开源项目的大量信息,因此我将其也设为开源。 我希望其他许多人会喜欢并加入以使其快速发展。 当然,您也可以将buildflow-core用于命令行工具和/或服务器集成。 它将基于Swift 4,因此任何平台都支持(理论上)可以使用它。 到目前为止,由于它内部使用URLSession进行网络访问,因此在Linux上将无法使用。 据我所知,它在Linux上仍然不可用,但是可以很容易地用IBM和/或Vapor的任何第三方库替换。 因此,这也是“目标”,但不是我的首要目标。 !! 重要! buildflow-core的当前状态是作为PoC / MVP的一部分创建的,它仍然很“ hacky”,不是很复杂;)。 但这有效! 目的是看是否可以通过这种方式实施。 因此,我将在内部重构许多事情,而不会在下一次提交中破坏公共功能。 技术方面的事情如下: 使用通用类型 动态映射 使用ICodeable 使它更加迅速y 但是还缺少一些功能: 在BFCorePortal.swift中实现mac / ios说明符 […]