Tag: ios

iOS应用提示:条纹

Der Aufbau ist relativ schlicht gehalten和,wie bei jeder guten iOS应用程序,selbsterklärend。 Man Richtet bis zu sechs Tasks ein,die dan jeweils ein Badge auf dem Homescreen besitzen bis sie erledigt sind。 BeimHinzufügenkann man schon vordefinierteEinträgenutzen zB Kalorienverbrennung。 您可以在Health App von Apple eingetragen,das brauche ich hier nicht auch noch中找到ganzen sportlichen Ziele haber ich aber。 Sachen wieZähneputzen oder Wasser […]

iOS中的核心数据

核心数据是Apple在OS X和iOS操作系统中提供的对象图和持久性框架。 这是一个非常独特的功能,可以在本地存储和映射具有不同层次结构的各种数据(文本,图像等)。 为什么要使用核心数据 当您需要存储每次打开应用程序时都不想从服务器检索的数据,或者需要离线使用应用程序并且仍想跟踪数据时,Core Data很有用。 优点 核心数据在本地管理数据,这意味着它具有持久性存储。 每次应用启动或关闭时,都可以随时随时加载或保存数据。 Core Data设法提供了许多有用的功能,可以节省大量时间。 一件事是称为“核心数据模型编辑器”的图形对象模型编辑器。 它提供了一个界面,供您以清晰的方式创建各种实体和属性,以显示它们之间的关系。 另外,与在代码中更改实体或属性相比,使用此模型可以更轻松地在以后更改实体或属性。 Core Data提供了关系连接功能,您只需要在XCModel中添加一个关系即可显示每个实体与另一个实体之间的关系,还可以指定任何一对一,一对多或多对多的关系关系变成一个简单的干净的面向对象的界面。 某种程度上,这就像某些数据库一样,提供了一种简单的方法来管理核心数据。 例 我们在Go Ahead Tours移动应用程序中广泛使用了Core Data框架。 例如,我们的移动团队决定使用Core Data在聊天功能中保存消息。 因此,显然,我们需要创建一个具有不同属性(如messageID)和内容(如文本,图像或位置信息)的消息实体。 另外,由于每个巡回包含一个唯一的聊天室,并且某些用户可能具有多个巡回,因此我们需要将消息与巡回连接的关系。 因此,我们将其设置为一对多关系,其中每个消息都属于其唯一的旅程。 因此,每当我们将消息存储到核心数据中时,我们只需要将特定的旅程添加到消息实体中即可。 因此,与游览相关的每个消息都将具有与游览相关的相同密钥值。 同时,我们在游览类中创建了一组消息,用于存储消息。 每次我们需要检索消息时,我们只需要进行游览,并使其返回所有消息即可。

如何在iOS中使用OpenGL ES 3.0和GLKit创建360视频播放器

360视频是同时记录每个方向的视图的视频记录。 在播放期间,观众可以像全景图(Wiki)一样控制观看方向。 现在,它越来越受欢迎,通常您会在Facebook的新闻源,Youtube的360个频道中看到360个视频,甚至在诸如NYTimes和Wallstreet Journal之类的新闻应用程序中也是如此。 在本教程中,您将学习如何使用OpenGL ES 3.0和GLKit从零开始制作360视频播放器。 由于该实现很大程度上依赖于OpenGL,并且OpenGL是跨平台的,因此该应用程序可以移植到其他平台,例如Android,Windows甚至是Web(WebGL)。 在此过程中,您将学到: 如何使用GLKit在iOS中以编程方式绘制几何 如何与OpenGL几何体交互 如何将视频帧用作OpenGL纹理 不禁开始? 让我们开始🙂 注意:此360视频播放器应用程序教程假定您了解OpenGL和GLKit开发的基础知识。 如果您不熟悉OpenGL或GLKit开发,请查看我们的iOS OpenGL教程:OpenGL ES 2.0,以GLKit和OpenGL视频教程开始OpenGL ES 2.0,首先是OpenGL ES和GLKit入门系列。 入门 下载入门项目, 然后在Xcode中打开Go360.xcodeproj 。 在Xcode控制台左侧的导航栏中,您将看到demo.m4v 360视频,最终将其显示在应用程序中。 另外还有4个其他文件夹: Main , Shader , Model和Extension 。 当时无需关心它们。 生成并运行应用程序; 您将看到一个彩色的球体旋转。 目前,您只听到360度视频的音乐。 不用担心 您最终将看到该视频。 如何绘制球体 您只能在OpenGL中绘制三角形。 通过连接Vertex ,您可以绘制三角形。 使用越来越多的三角形,您可以建立一个看起来光滑的球体。 在项目中,使用OpenGL ES 3.0编程指南中的示例代码esShapes.c。 该代码用于以编程方式生成球体的“ 顶点” ,“ 纹理坐标”和“ 索引” 。 […]

须藤save_time

“时间是我们最想要的,但我们最浪费的是” ― 威廉·佩恩 在我们开始之前… 每个开发人员迟早都必须打开Safari并键入https://itunesconnect.apple.com来设置要通过AppStore分发的应用程序。 但是恰好在登录iTunes后,您将了解,应该首先设置开发人员帐户。 并且自开始以来,您将看到更多应执行的其他步骤: 创建一个applicationID 生成证书(用于开发和分发) 设置应用程序功能(例如,推送—通知) 生成一组配置文件以及更多 即使完成此操作,也应该管理所有创建的内容,与队友共享,考虑安全性等等。 是的,很多东西,我知道… “等等,我只想将我的应用程序发送到AppStore。 为什么不能只使用一个命令行命令?»。 实际上,它被称为Fastlane。 概述和要求 «fastlane —是一个用于iOS,Mac和Android开发人员的工具,用于自动化繁琐的任务,例如生成屏幕快照,处理配置文件和发布应用程序。»—这是您在git页面上看到的第一行(https: //github.com/fastlane/fastlane),这是100%正确的。 Fastlane是用Ruby编写的,它是一组或多或少独立的模块,已构建了其丰富的功能集。 它的结构很容易扩展,因为如果您想向系统添加一些新功能,则可以编写简单的Ruby脚本,并在现有的fastlane模块中使用它们,甚至可以向fastlane添加新模块。 Fastlane提供了一堆命令,可帮助自动执行应用程序部署,甚至执行不同的常见任务。 Fastlane是非常灵活且可扩展的工具。 目前,fastlane由200多个不同的模块组成。 我们将在下面列出最有用和最受欢迎的内容,并显示使用fastlane的iTunesConnect传递系统的基本设置。 由于我是iOS平台的软件开发人员,因此我们将深入探讨大多数适用于iOS开发人员的使用fastlane的过程,但是我敢肯定,此强大工具所支持的所有平台的主要步骤都相同。 适用于iOS的Fastlane需要安装以下工具: macOS X El Capitan或更高 Xcode-开发人员-适用于xCode 7或更高版本的工具 红宝石/酒(可选,推荐) textEditor🙂 快车道能为我们做些什么? 好吧,这个列表很大,包括很多东西: 交付:将屏幕截图,元数据和您的应用程序上载到App Store 供应:将您的Android应用及其元数据上传到Google Play 快照:自动在每台设备上拍摄您的iOS和tvOS应用程序的本地化屏幕截图 screengrab:自动在每台设备上拍摄Android应用的本地化屏幕截图 frameit:快速将屏幕截图放入正确的设备框架中 pem:自动生成和更新您的推送通知配置文件 感叹:因为您宁愿花时间在建物上,也不愿与资源调配作斗争 产生:使用命令行在iTunes Connect和Dev Portal上创建新的iOS应用 cert:自动创建和维护iOS代码签名证书 飞船:Ruby库可访问Apple Dev Center和iTunes Connect […]

TED 3.0:有效使用旧版iOS代码

我不会经常谈论我为保持家中照明效果所做的工作,但是过去四年来,我花了很大一部分时间在TED for iOS应用程序上工作。 就发布的范围和更改量而言,3.0版本是我们在TED上进行的最大发布。 字幕功能是该应用程序现已以20种新语言本地化。 现在,全世界的用户都可以使用其母语从阿拉伯语到土耳其语来体验TED。 在后台,我们计划将应用程序本地化超过一年。 花了这么长时间? 历史课 适用于iOS的TED于2010年10月首次登陆App Store,并专门针对原始iPad发行。 TED for iOS 1.0旨在在iOS 3.2上运行。 在过去的六年中,随着苹果平台设备和功能的变化,我们一直在此基础上不断发展。 在TED期间(2012年9月至今),我看到了: 视网膜图形,3x图形以及最终的矢量。 AVFoundation使我们轻松制作自己的自定义视频播放器(这是我的第一个TED项目!)。 引入ARC替代了手动保留/释放。 XCTest替代OCTest。 更大或更小的设备,例如iPad mini,iPad Pro,iPhone 5,iPhone 6和iPhone 6 Plus。 Auto Layout和size类可为管理所有这些新设备尺寸带来一些理智。 小部件和自定义共享操作之类的应用程序扩展。 哦,还有个叫Swift的小东西。 TED于2010年交付时,它完全是用Objective-C编写的,旨在在两种设备尺寸上工作:iPhone 3GS和原始iPad。 现在,我们支持从iPhone 4s到12.9“ iPad Pro等iPad的手机。在整个过程中,我们一直在更新相同的应用程序代码库。从未对iOS项目进行过全面的重写,有时可能很诱人。 装修您居住的房子 去年年初,我接任TED的首席开发人员,开始为TED投入更多的时间(TED一直最多是2个兼职开发人员,有时只有1个)。 这样一来,我们就可以将思维方式从维护现有应用程序以保持运转状态(偶尔添加功能)转变为尝试对移动目标更加雄心勃勃。 唯一的问题是我们的许多代码都在显示其年龄。 我列出了高水平的目标,以小规模的方式对应用进行现代化升级,以便我们仍然可以继续发布更新以使TED HQ开心,同时我消除了许多使我彻夜难眠的事情。 这些项目的第一个是对应用程序进行模块化。 由于我们的团队很小,并且有一群相当敬业的用户,他们可以快速升级,因此我们比大多数公司更快地使用最新版本的iOS SDK。 我将最低SDK设置为iOS 8,并开始将应用分解为单独的组件。 我们将其分为单独的动态框架,而不是其中包含所有代码的单个Xcode项目: TED:主要的iOS应用 TEDData:与数据层和业务逻辑相关的类 TEDVideo:我们的自定义视频播放器 TEDCore:在所有不同框架之间使用的共享代码 […]

为iOS设置Fastlane MATCH

在本文中,我将向您展示如何创建快速通道匹配以自动化构建和发布移动应用程序的过程。 注意 : 如果要添加现有证书以匹配git repo,请转到步骤9 什么是快车道? Fastlane是旨在简化Android和iOS部署的开源平台。 fastlane使您可以自动化开发和发布工作流程的各个方面。 自动截图 -自动为应用商店生成本地化的截图。 Beta部署 -轻松为测试人员分发Beta版本。 App Store部署 -在几秒钟内将新版本发布到App Store。 代码签名 -可靠,一致地对您的应用程序进行代码签名,不再麻烦。 —设置快速通道匹配: 什么是快车道比赛? iOS代码签名的新方法:在整个开发团队中共享一个代码签名标识,以简化代码签名设置并防止代码签名问题。 match创建所有必需的证书和配置文件,并将它们存储在单独的git存储库中。 每个有权访问该存储库的团队成员都可以使用这些凭据进行代码签名。 匹配还会自动修复损坏和过期的凭据。 这是在团队之间共享签名凭证的最简单方法。 在设置Fastlane匹配之前,让我们先在本地计算机上安装Fastlane, 须藤宝石安装fastlane 第1步 : 创建一个git仓库。 创建一个新的私有Git存储库(例如,在bitbucket.org/xxx中的特定项目中),您可以将其命名为 certificate 。 注意 :确保将存储库设置为 私有 步骤2: Apple开发人员帐户 创建一个新的共享Apple开发人员帐户(例如projectname@company.com),此帐户将在您的团队之间共享。 如果您已经拥有一个,请忽略此步骤。 您还可以在匹配文件中添加Apple帐户的用户名和密码字段(您将了解匹配文件)。 步骤3 : 设置SSH密钥 为您的git帐户设置ssh密钥,以克隆将由fastlane匹配文件使用的存储库。 这很重要,因为匹配需要用户名和密码才能访问git repo。 没有身份验证,构建将失败。 使用SSH,您可以对将存储证书和配置文件的存储库进行身份验证。 步骤4: 启动快速通道 为您的项目文件夹启动fastlane(其中包含.xcworkspace或.xcodeproj) 快速通道初始化 project1 $:快速通道初始化 […]

为什么要编写不合格的测试?

我们都知道红色,绿色和重构技术。 但是我从来没有说过我应该先写一个失败的测试。 我想-“为什么我的考试不及格?”。 所以这是我关于如何艰难学习的故事。 那段时间我失去了所有的信心。 我希望-没有人在生活中必须经历同样的经历。 我在团队中的角色 如果某人具有DevOps的角色,则您实际上无法说出他/她的工作。 如果我不得不夸耀-“我致力于软件的整体交付,并确保按照定义的质量标准按时交付服务。”但是,事实并非如此。 加入团队后,我是一名常规系统管理员。 我不是一个人工作。 团队中至少有两个人专门管理构建基础结构。 因此,就像结对编程一样,我进行了结对管理 。 但是,由于我们的构建代理(MacBook和Linux VM)变得非常稳定,因此我们还可以执行其他IT操作任务,包括引入fastlane,团队密码管理器,在Gocd中管理管道等。我们决定了自己的优先事项,并按照我们的意愿做了工作。 但是有一个问题。 如果在代理上发现任何错误配置或必须配置新工具,则我和Gopal Singhal(我的一对)需要尽快解决。 整个团队在与构建代理有关的一丁点问题上都受阻。 因此,它归结为任何需要添加到我们的构建CI池中的计算机都应事先进行全面测试。 任务 因此,我们在代理上仅安装了一个版本的Xcode,我们避免在同一个代理上安装多个版本的Xcode。 要求从Xcode 9.0转移到Xcode 9.1。 对我来说,这看起来很简单。 我必须像之前一样安装一台计算机,唯一的区别是Xcode版本。 我配置了一台机器并在其上运行一些作业。 一切顺利。 除了视觉比较测试之一失败。 我看到了它的日志。 日志说,视觉比较测试由于预期的基线图像和实际屏幕之间的差异而中断。 这远远超过了可接受的差异(3%)。 因此,我认为可能是由于获取了一些较旧的人工制品而导致测试失败。 因此,我检查了它的所有依赖关系-代码,人工制品,配置文件,配置,环境变量,网络配置,主板,RAM,CPU周期(双关语意)。 但是,没有任何帮助。 我花了两个多星期的时间来理解为什么作业在新机器上失败了。 但是,我没有任何线索。 我失去了所有的信心。 我不愿向团队更新-“我不了解为什么视觉测试在我的机器设置中失败了。” 经过两个星期的投资并陷入困境–是否寻求帮助,我想咨询其中一个QA。 他告诉那是一次有效的失败。 该测试失败了,因为实际上基准很旧并且应用程序的UI发生了很大变化。 新任务 现在,问题已经扭转了。 来自-“ 为什么在新计算机上失败? ”,它变为-“ 为什么CI池中的现有计算机没有失败。 ” 我既快乐又悲伤。 很高兴-因为我正确设置了机器。 很难过-因为我对我们的测试失去了信心。 我们怎么可能还没有弄清楚我们有没有测试的测试。 […]

IOS开发人员培训生

OSรื่องราวครั้งนี้….จะเกี่ยวกับประสบการณ์ในการฝึกงาน่งนตำแหน่งIOS开发人员ในระยะเวลา1เดือนการฝึกงานครั้งนี้ เามนี้จะเน้นเรื่องที่เคยได้ทำคร่าวๆนะครับ มาเริ่มกันเลย 1.เรื่องการทำUI(用户界面) ได้รู้อะไรบ้างละ? คร่าวๆก็มีเรื่อง วกับรู้เกี่ยวกับAUTO LAYOUT staารผูกconstaintการจัดวางVIEW 定制视图,单元格,表视图 ทำารทำXIB ผูกStoryรardกับ视图控制器 ใช้ารใช้导航 2.ได้รู้และลองทำเรื่องMVPในการเขียนโค๊ด(设计模式) กรื่องการแยก模型视图演示者 ทำารทำPresenter Builderเพื่อช่วยในการเทสง่ายขึ้น ทำารทำ协议ถ้าภาษาอื่นก็คือ接口นั่นเองส่วนใหญ่จะนำมาใช้เมื่อต้องการส่งค่าบางอย่างไปยังหน้าView Controllerและเป็นCallbackในInteractor Data Map DataModelขRequest请求และ响应งAPIที่แอใช้ตัวในครั้งนใช้ตัวM ObjectMapperในMapารMap Json ใช้RXSwiftในการ呼叫服务แต่ก็รู้ไม่มากเนื่องจากในโปรเจคได้มีการวางโครงสร้างไว้แล้วจึงได้แต่รู้ว่านำมาใช้ยังไง การทำ互动器 ทำารทำRouterเป็นตัวกลางในการ重定向ไปยังหน้าอื่นๆ 3.เรื่องของการทำTest INIรู้เรื่องของUINIT TEST 存根,间谍,假และทำอู้เารakeอและ T UI测试มอทดสอบว่าทำงานถูกต้องตามFlowหรือไม่ 4.เรื่องของการเขียนโค๊ด โค๊ดแบบารเขียนโค๊ดแบบ干净 การตั้งชื่อไม่ว่าจะเป็นตัวแปรฟังค์ชั่นคลาสและการตั้งชื่อเทส ใช้Enum Structและ类 ใช้รื่องการประกาศเช่นการใช้ใช้懒周开放 ilรื่องnilการป้องกัน可选(无)ใช้Guardการใช้var let if else SwiftนฐานภาษาSwiftเบื้องต้น ก็จะเป็นคร่าวๆสำหรับการฝึกงานตลอดหนึ่งเดือน //และความรู้อื่นๆที่ได้เพิ่มมาคือAngularและKotlinเบื้องต้น

5个可在PC上玩iOS游戏的iOS模拟器—最佳PC iOS模拟器

您是否想在PC上玩iOS游戏并获得iOS设备的外观和感觉而又不真正拥有它? 如果是,那么您肯定在正确的地方。 得益于出色的iOS模拟器和模拟器,您可以在PC上玩iOS游戏,否则这些游戏仅适用于iOS设备。 现在,您可能想知道什么是模拟器? 继续阅读以了解iOS模拟器。 我们汇总了一些免费的最佳iOS模拟器,这些模拟器可以支持Windows操作系统的每个版本(7/8 / 8.1 / 10)。 5个PC最佳iOS模拟器 什么是iOS模拟器? iOS模拟器基本上是一种可以安装在PC上Windows操作系统上的软件。 它用于在PC上运行iOS应用。 简而言之,它是一种虚拟机,可以维持属于其他操作系统的应用程序的运行,并使它们平稳运行。 仿真器与仿真器有何不同? 仿真器可以代替原始设备。 它可以运行与原始设备相同的软件和应用程序,而无需对其进行修改。 模拟器基本上由想要在没有原始设备的情况下体验iPhone / iPad界面的非iOS用户使用。 由于它具有用户友好的功能和灵活性,因此它是大多数用户和开发人员首选的驱动器应用程序测试。 另一方面,模拟器可以设置与原始设备的OS类似的环境,但是它不复制其硬件。 由于这个原因,某些应用程序可能无法在模拟器中运行,或者运行方式可能有所不同。 模拟器通常可以更快,更流畅地运行代码,并且可以在几秒钟内立即启动。 Windows的前5个iOS模拟器/模拟器 1. iPadian iPadian是Windows PC的iOS模拟器,具有与iPad类似的GUI。 使用它时,在Windows计算机上体验的界面将与使用iPad时的界面相同。 但是,您无法访问Apple App Store,因此只能使用iPadian自己的自定义应用程序商店。 iPadian提供免费和收费版本。 它的免费版本足以用于任何iOS游戏或应用。 此iOS模拟器以出色的处理速度,引人注目的GUI,良好的下载速率,应用程序兼容性和丰富的显示功能而闻名。 另一个优点是,您只需单击屏幕即可立即访问按钮和触摸屏。 访问网站 2. Air iPhone模拟器 AIR iPhone以其简单和用户友好的界面而闻名。 它是一个Adobe AIR应用程序,提供iPhone的GUI,可帮助您直接在PC上运行iOS应用程序。 它模仿了iPhone的图形用户界面。 要运行Air iPhone,您将需要该程序的AIR框架。 这个适用于PC的iOS模拟器是免费的,并且与Windows 7、8和8.1最佳兼容。 访问网站 3. SmartFace Smartface是一款应用开发软件,可让您免费模拟iOS。 […]

苹果增强现实的下一步:ARKit 1.5更新

Umbrella Web在我们的App开发人员博客上发布了一篇新的博客文章,名为Apple的增强现实的下一步:ARKit 1.5更新 从库比蒂诺(Cupertino)春暖花开,到AR狂热者的喜悦:新的iOS 11.3发布,并带来了ARKit 1.5。 它提供什么? Umbrella Web团队已准备好使用此更新的AR开发工具来分享他们的经验。 伞不仅对有前途的尖端技术充满热情,而且对每次更新和更新都始终如一。 该团队不习惯于半途而废,致力于与客户和久经考验的工具建立长期关系。 使用ARKit开发应用程序在很大程度上得益于以下事实:许多工具和解决方案并非绝对是新的,而是可以重新用于当前的软件解决方案。 换句话说,尽管场景的背景是摄像机的视频流,但是在处理3D模型,灯光和动画时,许多事情与SceneKit框架中的事情相似。 这使大多数增强现实应用程序开发人员(尤其是游戏开发人员)可以快速学习新技术,甚至可以利用以前使用的模型,纹理和动画,从而使他们能够在ARKit通过Beta-测试时及时创建新的启发性项目。版本状态。 通过处理其中一个应用程序,Umbrella团队亲身体验了ARKit的主要优势:快速,正确地检测表面。 例如,应用程序功能之一旨在使用虚拟卷尺测量表面,但这些平面仅限于水平。 现在,由于1.5更新,该功能可以进行改进以测量垂直方向。 ARKit于2017年9月19日发布,在开始的头六个月中,其全球安装的AR应用已经价值1300万。 根据SensorTower的统计,在这段时间内,非基于AR的免费游戏中最热门的应用一直是IKEA Place。 在2018年3月,它们在全球的下载量达到20万。 此外,3月,IKEA Place也可用于Android设备。 此外,还添加了可视搜索功能,该功能允许在公司库存中搜索您喜欢的家具。 这意味着宜家AR应用程序可以达到预期的效果,并且公司的目标是朝着这个方向前进。 该经验可以称为成功通过的大规模现场验证。 这些是迄今为止ARKit使用的结果,但是Umbrella建议超越并展望最近的未来。 预计AR应用程序的开发将为您带来新的呼吸。 Apple人机界面指南已经根据ARKit 1.5提供的新功能和机遇进行了更新。 垂直添加 其中最明显的是检测垂直平面和水平面。 桌子,椅子和地板已经在发挥作用,现在AR应用程序也可以使用墙壁和窗户。 开发人员似乎非常热衷于将虚拟球弹向他们的计算机屏幕或在墙壁上打通虚拟隧道。 让我们考虑一下最初的情况以及迈向大规模工业和商业用途的次要但强有力的步骤。 这是在伞办公室周围移动的太阳黄色圆点。 可以清楚地看到,该系统不仅可以检测到地板,还可以检测到墙壁以及墙壁海报等物体。 以前,它仅在水平表面上工作。 https://www.appfutura.com/uploads/blog/2018/05/dffe07bf084448e5e27ae73ed5a050d01527588048.gif 更多新功能 改进的不规则形状曲面的映射。 随着ARKit现在允许映射(例如,圆表),AR场景的整体体验变得越来越现实。 检测2D真实对象并将其集成到增强现实中。 简而言之,您将iPhone指向海报,艺术品或照片等图像即可互动。 算法是这样的:该应用程序检测到标记并向您显示相关的3D内容。 分辨率 (从720p变为1080p)和自动对焦功能提高了50% 。 由于与以前的版本相比,真实的对象看起来更鲜明,更清晰,因此这些场景更加真实。 通过应用程序拍摄的照片在图像质量方面将与iPhone照片相似。 在遮阳伞的办公室里带一些安迪·沃霍尔(Andy Warhol)的虚拟风格(使用Artsy应用程序)。 想知道半年前Umbrella第一次体验ARKit吗? 看起来有些不同,不是吗? 在AppFutura上查找更多全球顶级移动应用开发公司。