Tag: ios

赛车经理

Hoy quiero hablar de la app que mas tiempo meestácomiendo en laúltimasemana。 在App Store和应用商店中的外观和外观都非常不错。 赛车经理 。 普通话,普通话,普通话,普通话,普通话和普通话的管理者。 Este es de los segundos。 从事战略游戏的大豆迷:“足球经理”,“主题医院”,“主题公园”………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… 从汽车上购买装备的权利,请立即取消。 ¡在iPad上玩游戏! 西班牙语翻译成西班牙语的西班牙语。 现存的类别,名称和类别的绝对名称。 建设者组织的合作伙伴关系 公交车上的一名骑警,飞行员,飞行员和教练。 Tendrásdos pilotos。 不适用于任何实际需要的干草,当地法人的实际补贴。 卢旺达民主共和国临时法院判决书,由冈比亚埃尔库索-洛斯阿科泰克-米科斯决定。 营销反转广告(pilotos,赞助商或粉丝)。 Los GP cuentan con laclasificacióny la propia carrera。 Tus patrocinadores tepoolránobjetivos que debes cumplir para conseguirmásdinero。 En mi caso,los retos patrocinados […]

使用Interface Builder的主题警报

UIAlertController可以通过许多方式进行配置,但是它不是主题化的。 有很多库可以代替UIAlertController ,并且可以作为主题使用 。 但是,如果您需要的只是一个带有标题,消息和2个按钮的“简单”模式警报,该怎么办? 为此值得引入并配置整个库吗? Interface Builder中的一个简单的主题警报 没有! 让我们自己动手做一件事情,用任何额外的行李就可以完成工作。 这是Interface Builder中的外观: 深色背景视图是警报的父视图。 它的黑色背景的alpha设置为0.5。 不需要,但是它有助于集中用户的注意力,使警报下的所有内容变暗。 其余的警报使用“自动布局”以简单的方式进行布局。 两个按钮的宽度相等,并且有预定的宽度和边距。 警报本身位于其父级的中心。 使其反应? 我对此警报的使用案例之一是在警报消息中显示活动计时器。 有多种方法可以执行此操作,但是我喜欢在警报出口上使用反应性绑定(使用Bond和ReactiveKit)。 为此,我们将为它配置一个视图模型,并根据视图模型的更新自动更新文本。 包起来 您无需导入大型库或编写大量代码即可创建两按钮式主题主题模式警报。 您可以改为定义一个新类,使用情节提要并根据需要对其进行完全布局,然后只需将其推入另一个视图控制器即可。

点亮iOS TestFlight教程

1. 检查您的电子邮件中是否有标题为“ TestFlight”的邮件。 到您的信箱可接受标题为“ TestFlight”的信件。 2. 单击“在TestFlight中查看”。 点击红框处的“在TestFlight中查看”。 3. 使用Safari打开。 精选Safari打开。 4. 复制您的兑换代码。 复制您的兑换代码。 5. 单击“来自App Store的TestFlight”。 点选「来自App Store的TestFlight」。 6. 下载并打开“ TestFlight”,单击“兑换”。 下载并打开“ TestFlight” app,并点选“ Redeem”。 7. 粘贴您的兑换代码,然后按“兑换”。 贴上您刚刚复制的兑换代码后点兑换。 8. 下载并打开“ Lit”。 下载并打开“ Lit” app。 9. 登录即可点亮! 登录,恭喜您成功加入Lit啦! 10. 您可以通过转到“ TestFlight”应用程序并单击“发送Beta反馈”来发送Beta反馈。 谢谢! 若您愿意回馈测试结果,请前往「TestFlight」app的介面后,点选「Send Beta Feedback」,即可提供您的回馈。Lit团队感谢您!

iOS自动化测试:Xcode UI测试入门

如何编写iOS自动化测试? 如何使用Xcode UI测试框架通过Screen Object Pattern编写可靠且可维护的测试? 阅读本文以了解答案。 XCUITest框架简介 第一步,我们需要选择自动化框架。 在本教程中,我们将利用XCUITest Framework。 一个允许测试用户与屏幕实际交互的框架。 它由Apple开发,为用户界面和集成测试提供了强大的功能。 设置Xcode项目以进行UI测试 Xcode UI测试要求访问应用程序源代码,并且必须在计算机上安装Xcode。 首先,我们需要创建UI测试目标: 打开Xcode项目 文件>新建>目标 选择iOS UI测试套件 输入您的组织信息并选择一种编程语言(本教程中将使用Swift) 使用XCUI Test Recorder编写第一个测试 XCUI Test Recorder允许我们记录用户与屏幕的交互并在测试中使用生成的代码: 导航到测试导航器 选择要记录的测试功能 按下UI记录器按钮 在设备上执行测试 为了完成我们的测试,我们应该添加断言来进行验证,以确保预期元素显示在主屏幕上 //预期显示的元素 让玩家= app.collectionViews.staticTexts [“测试”] //声明该元素已显示 XCTAssertTrue(player.exists) 使用辅助功能检查器检查元素 XCUI测试记录器非常适合简单的测试,但是记录器生成的代码需要修改,有时它不能为Element提供正确的定位器。 更好的方法是使用辅助功能检查器: 开放辅助功能检查器 单击开始检查按钮 检查元素以定义定位器 当我们知道Element调试描述时,我们可以根据该值编写Locator: 让playerBalance = app.staticTexts [“ $ 99.999”] 获取屏幕调试描述的另一种方法是在Xcode控制台中打印可访问性层次结构: print(app.debugDescription) 屏幕对象模式简介 在编写用户界面和集成测试时,我们希望使用可读代码创建可维护的测试。 […]

在UIWebView中禁用点击延迟

从历史上看,使混合移动应用感到有点“偏离”的差异之一是,使用简单的click事件处理程序处理UI元素上的轻击时会有所滞后。 创建了诸如Fastclick之类的库来通过使用原始触摸事件立即触发事件处理程序来缓解这种情况。 尽管它们用于基本用途,但为触摸事件增加了JavaScript执行开销,这导致了麻烦。 最近,Android上的Chrome和iOS上的Safari都取消了对不可扩展页面的限制。 这是单次点击延迟的根本原因-无法知道用户是尝试双击还是单次点击,因此浏览器必须在第一次点击后等待才能看到如果另一个来了。 我以为这适用于应用程序中嵌入的Web视图,但是我很失望地看到Quip的行为在iOS 9.3或10.0上并没有改善(对于大多数事件处理程序,我们都有自己的类似Fastclick的包装器,但不适用于到复选框,然后仍然很落后)。 进一步的研究表明,该改进不适用于UIWebView (用于将Web视图嵌入iOS应用程序的较旧机制WKWebView较现代,但仍存在一些局限性,因此Quip尚未迁移到该应用程序)。 有关改进的WebKit博客文章包括一些与相关的跟踪错误相关的链接(如前所述, WKWebView是完全开源的,仍然不错)。 深入研究关联的提交之一,这似乎是要调整多个UIGestureRecognizer实例之间的交互。 通常,处理单次点击的操作必须等待处理两次的操作失败,然后才能触发其动作。 由于一次敲击要花费350毫秒来确定一次敲击是否跟随另一次敲击,因此单次敲击需要很长时间才能失败。 Apple所做的更改是为不可缩放的页面禁用了第二个手势识别器。 UIWebView不是开源的,但我认为其实现必须类似。 为了验证这一点,我添加了一个小代码段以转储其视图层次结构的所有手势识别器(由[self dumpGestureRecognizers:uiWebView level:0]触发: -(void)dumpGestureRecognizers:[UIView *)view level:(int)level { NSMutableString *前缀= [NSMutableString新]; for(int i = 0; i <level; i ++){ [前缀appendString:@“”]; } NSLog(@“%@视图:%@”,前缀,视图); 如果(view.gestureRecognizers.count){ NSLog(@“%@ gestureRecognizers”,前缀); 的(UIGestureRecognizer * gestureRecognizer in view.gestureRecognizers){ NSLog(@“%@%@”,前缀,gestureRecognizer); } } 对于(UIView * view.subviews中的subview){ [self dumpGestureRecognizers:subview级别:level +1]; } […]

现在如何在您的国家玩#PokémonGo!

听说您现在可以玩#PokémonGo,我想:哇,儿时的梦想成真了。 但是坏消息是,到目前为止,我还不能在奥地利踢球。 至少当我读到他们正在计划分阶段推出时,我才被告知。 不用担心,有解决方案,您已经可以玩。 即使您不居住在澳大利亚或新西兰。 如何立即在iOS上安装PokémonGo! 几天前,我的哥哥亚历山大(Alexander)在WhatsApp上给我发送了一条消息,问我“想玩《PokémonGo》吗?”。 我必须立即打电话给他。 这只是一个玩笑,还是真的有可能在奥地利玩呢? 让我告诉你他告诉我的内容,因为它有效。 例如,您已经可以在奥地利和德国玩PokémonGo。 没有更多的等待时间。 立即抓住他们! 但是要当心! 使用此技巧需要您自担风险。 对于您在本教程之前,之中或之后发现或遇到的任何问题,我概不负责。 首先,您必须拥有一个尚未与iTunes / Apple-Account关联的电子邮件地址。 例如,只需创建一个新的Gmail帐户或使用任何其他电子邮件提供商。 然后按照以下步骤。 1)打开iTunes,单击“帐户”,然后单击“注销” 2)导航至https://itunes.apple.com/au/app/pokemon-go/id1094591345?mt=8#并打开iTunes。 3)iTunes应该启动并提示您切换到澳大利亚商店 4)在左侧的Pokemon Go符号旁边,单击“获取” 5)点击“创建新的Apple ID” 6)浏览提示,并使用VALID电子邮件创建一个新ID(因为必须进行确认)。 7)在付款步骤中,选择“无”并使用有效的澳大利亚地址(例如,使用Google Maps)。 8)完成Apple ID创建过程并确认。 9)在iPhone上打开App Store,然后使用现有帐户注销。 然后使用新创建的澳大利亚帐户登录。 10)在App Store中找到Pokemon Go并下载游戏! 11)有乐趣🙂 如何立即在Android上安装神奇宝贝! 我必须说,我没有Android智能手机。 这就是为什么我只能链接到其他博客,告诉您如何在Android智能手机上安装PokémonGo。 请注意,已经有带有木马的APK,因此请确保您从值得信赖的来源下载该应用。 我尚未对其进行验证和控制。 – Gamespilot(德语):So klappt der下载(http://www.gamespilot.de/news/pokemon-go-die-wichtigsten-tipps-fur-einsteiger-174826) 玩得开心,我们很快就会在其中一个竞技场见到我们! 神奇宝贝去福拉尔贝格州->立即加入我们的Facebook群组。

AltConf 2016:Udacity炉边聊天—#4 Zev Eisenberg

Udacity的iOS团队很高兴参加AltConf 2016,我们采访了这么多出色的iOS工程师。 这是我们的第四个炉边聊天! 对于我们在AltConf 2016上进行的第四次炉边聊天,我不得不与Zev Eisenberg坐下。 Zev是Raizlabs的iOS工程师。 他还是一位经验丰富的编织者,杂耍者和事物的综合创造者! Zev在AltConf上的演讲是在BonMot上进行的,BonMot是他写的一个库,使归因于字符串的工作很愉快。 我们谈论什么 Zev和我详细讨论了BonMot,特别是关于如何使您的应用程序中漂亮的排版变得更容易的讨论。 这是在有关设计与工程交叉的大型对话中进行的。 Zev对于用户测试的重要性也有很多话要说,并为我们的学生提供了一些很好的建议: “进行可用性测试……尽可能获取广泛的测试主题,并认真听取他们的意见。” Raizlabs一直与Perkins School for the Blind合作开发一款旨在帮助盲人用户定位公交车站的应用程序,而用户测试对该过程至关重要。 “您的用户总是会让您感到惊讶的……但是……如果有人采取了行动,并且您知道他们正在尝试做什么,请不要告诉他们他们错了。 只需让您的应用对他们做出回应,让您的应用执行他们想要做的事情即可。” 我真的想问Zev的一个问题是让他对WWDC 2016感到最兴奋的事情。他说,他特别对WWDC实验室(特别是可访问性实验室)以及Xcode工具的最新变化(包括谈论最多的)大加赞赏。 -关于视觉内存调试器!)。 我强烈建议观看整个采访。 Zev是一个充满激情的人,对于个人激情和软件工程之间的协同作用,他分享了很多见解: “有很多机会可以接受您怪异的愚蠢激情,并对其进行深入研究……并将其带入编程。” 外卖 如果您需要提醒用户测试的重要性,并且准备对Xcode中可用的新工具感到非常兴奋,并且喜欢从我们的个人兴趣和编程兴趣的融合中产生伟大的软件的想法,那么我强烈建议您和我一起在Zev花一些时间! 网络上的Zev Eisenberg https://twitter.com/zeveisenberg http://zeveisenberg.com/ 请继续关注iOS工程师Mike Lee主持的Fireside Chat#5! 对iOS开发感兴趣? 无论您是编程新手还是准备进阶学习,我们都为您准备了程序。 今天就报名! iOS开发人员纳米学位计划 开始进行iOS App开发纳米学位计划

伟大的OS融合

随着宇宙的扩展,某些事物反过来变得越来越近,口袋里的计算机以及桌上或膝上的那台计算机正朝着自己的碰撞方向前进。 像Google的Android和Apple的iOS这样的移动操作系统在Android方面的力量和影响力一直在增长,尤其是从Windows取代Windows成为全球主要操作系统。 最后,全球互联网使用量的37.93%来自Android用户。 苹果公司的iOS正被越来越多地替代为拥有完整的桌面OS来提高生产力和创造力的可行选择。 尽管陪审团可能仍在此问题上,但仍在提供证据,并且证据开始增多。 对于绝大多数人而言,完成工作不再需要台式机,甚至不需要传统的笔记本电脑设备即可进行电子邮件,文字处理,甚至在某种程度上还可以进行照片编辑。 Apple会让您相信,iPad Pro是您需要的所有机器(Apple还想说服您,这只是’iPad Pro’谢谢您)。 智能连接器键盘和并排的应用程序视图大大增加了这一论点.Google的移动产品很难说服这一点,因为与Galaxy相比,Android的大屏幕体验仍然令人沮丧或像素。 但是,他们基于Chrome的基于浏览器的操作系统已经很好地融入了翻盖式笔记本电脑的外形尺寸,并且最近又在Acer Chromebook Tab(确实是?不是ChromeTab?)上转变成熟悉的平板电脑形式,其触摸屏功能可以更好地与Android应用结合和屏幕上的绘图。 自2016年以来,Apple尚未对其MacBook产品线进行重大升级,但在此期间,苹果发布了两种不同尺寸的iPad Pro(9.7、10.5),并且最近又发布了大量针对教育的iPad。 苹果公司将重点放在其iPhone和iPad系统上,导致一些人呼吁苹果公司放弃任何假装,而只是宣布MacBook进一步运行功能强大的iOS。 该系统上提供的应用程序仍然是无与伦比的,并且能够以人们仍然更满意的形式满足大多数学生,博客作者和咖啡店脚本编写者的需求。 对于仍然需要使用强大处理器运行x86软件的“专业”专业人士,Mac不得不坚持不懈,直到iOS达到可以本机运行这些操作系统或将整个体系结构转移到ARM的地步,这显然仍在未来科技 仍在谈论允许iOS应用程序在性能较低的Mac上运行,而这种重新流行的“ iBook”将与专业消费者群体很好地融合在一起,使应用程序开发人员满意,并开始在iOS和MacOS之间进行跨越。 但是,Apple并不是要听其用户的要求,而需要您信任他们知道更多。 希望我们能听到的Windows Phone的最后一个例子 尽管Microsoft积极地进行调整,并将Windows推向比其开始时更新颖的形式。 可以说这始于Windows 8,Windows 8变成了几乎无法识别的以触摸为中心的界面。 这项更改几乎困扰着所有人,尽管它做了很多正确的事情(其中包括手势和活动磁贴),但微软还是被迫恢复弹出菜单,最终决定采用Windows 7和8之间的混合形式来创建Windows 10,继而催生了Windows 10移动版,现在它几乎已经停产了。 就像先前的两个版本Windows Mobile 7和Windows Phone 8一样,Windows 10M处于枯竭状态。之前引用萨蒂亚·纳德拉的说法是,他没有看到第三个移动操作系统的原因,并且似乎是坚持使用Windows适当的声明已经做好了在所有应用程序上工作的准备,从巨大的Surface Hub到传闻已久的“ Surface Phone”,如果存在的话,它根本不像电话,而更像是可以打电话的小型计算机。 嗯,是的,差不多是一部手机,但希望我们能听到的Windows Phone的最后一个例子。 对于观察者来说,这条轨迹看起来很简单,苹果可以将其移动操作系统从最小的外形尺寸推向最大的外形,而微软则认为Windows能够取代失败的Windows 10M并在类似手机的移动设备上运行。 那么Google呢? 他们会整合在一起并在平板电脑上修复Android,将其扩展到笔记本电脑和台式机上吗? 还是因为Chrome操作系统已经可以运行Android应用程序,所以它是否适合在手机上运行的更小尺寸? 如果相信报告,那么答案就不会是,谷歌最终将用新的“紫红色”项目来取代这两种系统,该操作系统是从头开始构建的,可以在电话和完整的计算机上运行,​​并利用现有的Android应用程序允许使用新语言“ flutter”自定义构建新应用。 如果我们认为Android最初是设计用于操作数码相机,而不是智能手机,更不用说更大的智能手机了,那将是有道理的。 如果所有这些都实现了,那么显而易见的好处是,一个统一的操作系统可以访问用户所需的任何应用程序或服务。 从在笔记本电脑上工作到手机上完成画质的无缝过渡。 随着您选择的操作系统在您的设备之间传播,整个生态系统都可以购买。 公司将需要花费更少的时间来维护台式机和移动系统,为这些系统编码应用程序,并培训用户从iPhone切换到Windows工作站时如何提高工作效率。 对于像我这样渴望简单并且只爱事物可以集成的人,从在设备之间切换和获得(大致)相同的体验的想法中可以得到一定的安慰。 […]

Swift 2.2中的面向对象设计原理– Christian Tietze –中

要真正掌握设计模式(如MVVM)和架构模式(如VIPER)的使用,了解Bob叔叔的面向对象设计原理(产生了SOLID原理)非常重要。 就像制作适当的面向对象软件的语法一样。 现在这是个好消息:这里有一个Swift游乐场(和Markdown文件可在线阅读),其中阐明了Bob叔叔的所有原则: Swift 2.2中的OOD原则 检查一下,做笔记,并让原则贴近您的内心。 他们有一天可以挽救您的生命。 通过Christian Tietze的工作日志 http://ift.tt/1U9tOay

Swift — 4 —核心数据—第2部分创建一个简单的应用程序

如果您想进行完整的iOS培训,可以通过以下详细信息与我联系,我会使用目标C或Swift提供实时iOS应用培训 skype:alok.upadhyay32 邮件:meiosdose@gmail.com 应用程式:+ 91–7838552946 第1部分。 大家好。 在本教程中,我们将使用核心数据和Swift 4创建一个应用程序。我们将能够在核心数据中插入 , 更新 , 删除和获取个人记录。 Person将具有两个属性name和ssn(社会保险号)。 我们还将学习如何使用谓词执行条件操作(filter或sqlite中的where子句)。 这是源代码的链接。 请输入☕和开始代码– 让我们创建新项目,如附加的屏幕截图: 给它起一个名字“ PersonData”,选择语言“ Swift”并选中“ Use Core Data”和“ Include Unit Tests(是的,我们还将进行单元测试:))”: 单击下一步。 现在查看您的项目结构。 它有一个名为“ PersonData.xcdatamodeld”的文件。 那么“ PersonData.xcdatamodeld”是什么? 在上述步骤中,当我们在Xcode中启动新项目并打开模板选择对话框时,选中“使用核心数据”复选框,将创建核心数据模型的源文件作为模板的一部分。 该源文件将具有扩展名.xcdatamodeld 。 这是一个xml文件 。 在导航器区域中选择该文件以显示Core Data模型编辑器。 单击“显示包内容”,也可以打开和查看文件。 双击内容,它不过是一个xml文件: 您可以使用“ xcdatamodeled”的可视化编辑器来创建“实体”,“实体属性”,“获取请求”,“配置”和“关系”。 当我们执行核心数据迁移时,此文件非常重要。 现在,让我们深入研究“ AppDelegate.swift”文件并讨论代码。 AppDelegate文件包含与核心数据相关的应用程序生命周期方法和代码存根。 我们仅对核心数据感兴趣。 它包含了: 导入CoreData框架 初始化NSPersistentContainer类,然后初始化核心数据堆栈对象(托管对象模型,PersistentStoreCoordinator,托管对象上下文)。 一个名为saveContext()的方法。 它将托管对象模型保存到存储中。 当应用程序即将终止时,名为applicationWillTerminate的应用程序生命周期方法也会调用saveContext()来将数据保存在存储中。 […]