Tag: Apps

移动应用程序如何真正发挥作用?

介绍 设计和开发简单的应用程序并不像您想的那么复杂。 在这里,我会向您证明。 在本文中,我将向您介绍CalcColor(我最近推送到Apple App Store的一个应用程序)的设计和开发过程。 我知道这很简单,但这就是我创建它的原因的一部分(如果您只对应用程序的总体运行方式感兴趣,并且不关心我如何构建计算器,请向下滚动至“应用程序的工作方式”) 。 规划 现在,进入应用程序构建过程。 人们喜欢认为那些构建应用程序的人是天才,他们提出了构想,然后立即坐在计算机旁开始编写代码,但事实并非如此。 在大多数情况下,甚至在编写一行代码或进行任何设计之前,都需要对所有内容进行计划。 像大多数独立开发人员一样,我首先考虑了CalcColor需要做什么/必须做什么。 由于其极其简单,因此非常简单。 我想构建一个简单,实用且外观不错的计算器,从而允许用户对其外观进行一些控制。 因此,我决定允许用户更改应用程序的背景。 简单。 对于实际的计算器,我决定使其保持最基本的状态,包括四个基本运算符(+,-,/,×)以及^和√运算符。 接下来我要决定的是实际计算器的功能。 它是否类似于内置的iOS计算器应用程序,该应用程序按数字计算表达式的编号(即,您输入25,然后按+,然后25消失,从而允许您输入其他数字),或者允许用户执行以下操作:在评估之前输入整个表达式(即您输入25 + 5–7 *(25 * 4))? 我最终选择了后者,以将CalcColor与现有的iOS计算器区分开。 解决了这个问题后,我需要确定应用程序的外观。 由于渐变可以构成良好的背景,因此我决定将大多数背景提供给基于渐变的用户。 因为我希望计算器占据整个手机屏幕,所以我决定在与计算器分开的另一页上进行背景选择。 关于计算器本身,我的目标是简化设计,因此我决定省略传统的按钮边框,而是选择不包含任何行的计算器。 设计过程 在规划了计算器的布局和功能之后,我需要提供一些视觉效果,使我可以看到最终结果是什么样。 为此,我使用了Sketch(可能是有史以来最伟大的设计师工具)。 与Photoshop相似,但使用起来非常简单,Sketch允许您绘制各种形状并对其属性进行混乱,以便在开始对它们进行编码之前设计其Web或移动应用程序的外观。 因此,我开始“绘画”。 既然我已经有了想要计算器看起来像的草图,我继续添加颜色,并决定要使用什么渐变。 而且,vuala,您在那里。 继续建设吧! 应用程序(和CalcColor)如何工作 在我谈论编码CalcColor的细节之前,我将谈论您真正想了解的内容-应用程序的工作原理(这并不真正包含游戏-它们有些不同,因为它们使用一些动画并且经常是某些引擎(例如Unity)的两倍-但更多内容请参见另一篇文章)。 大多数应用程序都是由包含按钮,表格和导航栏的页面组成的(无论您浏览到哪个页面,都存在于许多应用程序底部或顶部的栏)。 例如,CalcColor的主页由二十三个不同的按钮组成。 一个与其他22个(设置按钮)略有不同,因为它具有不同的功能,并且在应用顶部还显示了一些文本,用于向用户显示其计算器输入以及之后的输出他们按下了等于按钮。 此外,背景中还有一个图像。 第二页包含二十一个按钮,一个图像和两个文本位,但是与主页上不同的是,这些文本段无需修改 -永远不会更改。 因此,现在我们知道计算器应用程序的确切组成。 但是,这并不能解释我们如何将这些按钮放置在那里,或者如何使它们执行任何操作。 因为这是一个iOS应用程序,所以XCode是使我们能够回答这些问题的软件。 在XCode中,有一个称为情节提要的东西。 这就是让我们查看应用程序页面上将包含哪些项目以及向这些页面添加更多项目的原因。 它基本上是一个拖放系统,尽管您仍然可以放弃情节提要并以编程方式进行所有操作,但仅使用情节提要会容易得多(我个人从未在没有情节提要的情况下构建过一个应用程序)。 正如您在下面看到的,您实际上可以搜索一个按钮,将其拖放到情节提要上,并根据需要更改其文本。 除其他外,您还可以添加标签和文本字段。 修改按钮和标签中的文本很容易,因为XCode允许我们简单地双击它们并更改其文本。 […]

自定义容器视图

在上一篇文章中,我们讨论了如何使用容器视图和情节提要引用重用视图。 我们处理的示例包含一个可重复使用的视图(带有居中标签),该视图在容器视图中多次包含在内。 视图的尺寸会自动适应容器的尺寸,但标签的内容对于每个实例均保持不变。 因此,我们如何自定义视图,以便每个实例可以具有不同的标签文本。 我们需要做的第一件事是为可重用视图创建一个自定义视图控制器类。 我将其命名为ReusableViewController (不要忘记使用身份检查器将类分配给故事板对象)。 控制器将具有标签对象的出口和文本实例变量。 使用一种熟悉的技术,我们可以在将视图控制器的每个实例加载到容器之前对其进行配置。 由于容器视图使用segues嵌入其子视图,因此我们可以像往常一样简单地在父控制器上覆盖prepare方法,并使用它在目标上设置相应的变量。 这应该够了吧。 最小的代码如下所示:

本机与本机

React Native是一个很好的工具,可使用Javascript和直接来自Web开发的其他概念/技术来创建多平台本地应用程序。 但是,与使用平台的官方工具包制作应用程序相比,开发人员的体验又如何呢? 让我们通过使用Xcode在React(Native)和Cocoa Touch(Swift)中为iOS构建一个简单的登录界面,来探讨每种方法的优缺点。 虚拟主登录屏幕仅由一个文本框,一个登录按钮和一条消息提示用户使用秘密密码进行身份验证组成。 通过输入secret一词,我们访问仪表板 ,该仪表板只是受保护内容的占位符。 在GitHub上查看完整的源代码,其中还包括仅Web版本供参考。 按照自述文件获取有关如何安装和运行每个应用程序的说明。 那么,最终的Swift代码与其JSX对应代码有何不同? 数量方面,两个源都包含相似数量的行。 在质量方面,我们可能会怀疑Swift是一种新语言会具有一定的可读性优势,但是不断发展的ECMAScript标准似乎保持了很好的状态。 这是每个控制器的实际外观: reactnative-app / index.ios.js import React, { Component } from ‘react’ import { AppRegistry } from ‘react-native’ import { createStore } from ‘redux’ import { Provider, connect } from ‘react-redux’ import userReducer from ‘core/lib/reducers/user’ import React, { Component } from ‘react’ import […]

Criando uma Pokedex com Swift零件:3/3

Mostrando nossos monstrinhos Recapitulando单方前。 无需任何Xcode控制台,就可以解析请求的JSON请求和最终结果。 Criando uma Pokedex com Swift零件:2/3 Consumindo um JSON medium.com 最终用户可以通过TableViewController调用结果,也可以使用JSON格式的报表,而无需控制台,也可以使用linda和maravilhosa Pokedex。 Criando布局 Paranoççãonossa simplesexibiçãovamos abrir o情节提要que foi criado com o projeto,或Main.Storyboard。 获取对象库,不要在导航控制器和情节提要中发现任何劣质的导航控制器。 选择一个ViewController,并添加一个ViewController 。 选择一个NavigationController,并在菜单中添加属性检查器 。 购买ViewController并进行操作是Initial View Controller。 对象库可从 TableViewCell购买,还可以从TableViewController或NavigationController购买 。 宠物小精灵(Umacélulavai ser a do pokemon),乌玛(an uma)vai ser de load e a outra vai ser umacélulavazia,que vai ser exibida […]

序列化自定义词典

更新:新的Swift 4过度简化了此过程, 请查看如何 通过Swift 字典和NSDictionary编码之间的自动桥接,更常见的String到Object字典非常简单。 但是,当我们想使用任意对象作为键时,情况会发生变化。 常规词典仅对键类型强制实施可哈希和等价协议。 如果我们要构建持久性类,则可以从NSObject继承这些属性。 另外,我们需要实现NSCoding进行序列化。 类项目:NSObject,NSCoding {…}各种数量:[Item:Int] 使用NSKeyedArchiver保存该对象的方式应为: 让_ = NSKeyedArchiver.archiveRootObject(self,toFile:file) 但是,当尝试还原实例时,会发生一个模糊的错误: 让restore = NSKeyedUnarchiver.unarchiveObject(withFile:file) //例外:[MyClassName copyWithZone:]无法识别的选择器发送到实例 事实证明,由于某种原因,NSDictionary还要求密钥类型符合NSCopying。 一个简单的实现可以解决: 类项目:NSObject,NSCoding,NSCopying { func copy(with zone:NSZone?= nil)->任何{ 返回项目(名称:名称,库存:库存) } … 这是一个完整的工作示例:

构建具有全球吸引力的iOS应用的提示

在当前情况下,iOS和Android无疑是大多数移动应用程序开发人员和企业主首选的前两个主要平台。 这两个平台都有其自身的好处和挑战,开发人员倾向于根据某些特定因素(例如其应用程序的概念,预算限制,目标受众等)来选择该平台。 在本文中,我们将研究iOS开发人员开发适合全球市场的iOS应用的技巧。 此外,我们将研究各种iOS应用程序的优势,这些应用程序可以帮助您高效快速地发展业务。 当您打算开发一款出色的新应用程序以开展业务并利用它赚取任何收入时,您将需要根据众多标准(包括智能手机用户数量)研究许多目标领域。区域或大多数潜在用户喜欢的应用类别,例如游戏,购物,教育或其他任何内容。 建立潜在的目标客户之后,开发人员可以更轻松地确定最适合您的应用程序的平台。 一般而言,iOS平台是企业首选的应用程序,因此,如果应用程序开发人员想要瞄准全球市场,则必须使用它。 1.了解您的市场 的确,当您为国际观众创建应用程序时,您最好专注于Android。 但是,重要的是要记住,iPhone在涉及美国和英国等西方国家时占有更大的份额,并且也已进入其他发展中市场。 在为Android开发应用程序时,您可能会获得遍布全球的庞大安装群体,但是,如果您打算针对国际市场中的高收入客户,则iOS应用程序将提供更大的机会来获得更高的收入。 2. iOS赚一些真钱 通过大量的研究证明,iPhone用户倾向于花费更多。 如果您考虑收入因素,并希望获得更大的投资回报,那么iOS绝对是您的理想之选! 开发人员大多能够利用Apple积极推动的订阅模式,并且一直在盈利。 让用户免费下载您的应用,然后向他们收取微交易费用可以证明是一种非常有效的策略,尤其是在开拓市场和获得更高收入方面。 但是,此模型确实需要一定的耐心才能使收益累加。 3.两者兼而有之 这是为预算和资源可用的人准备的。 实际上,如果您要进行自定义应用程序开发,这可能会是一个很大的挑战,因为时间,金钱和资源通常受到限制。 在跨平台应用程序开发中,您始终可以选择像React Native这样的平台,但是在最近一段时间,Apple和Google都非常明显地表示,他们现在正在打击第三方跨平台应用程序的使用。用于移动应用程序开发的平台框架,这迫使开发人员构建本机应用程序。 如果市场是一个健康的市场,那么创建iOS应用程序是一个更好的主意,如果您拥有正确的资源种类,那么可以继续做下去! 4.扩大目标受众 作为一家希望总体上增加销售额和目标增长的企业,高效创建的iOS应用程序可能会大有帮助,尤其是在品牌推广或将企业提供的服务推广给合适的人时。 iPhone用户通常更精通技术,并喜欢将先进技术作为其日常目标或更大目标的解决方案。 这就是为什么iOS拥有更大的受众群体以独特和吸引人的方式提供各种商业产品和服务的原因。 iOS设备环境绝对是优越的,并且当应用程序界面易于使用时,企业将获得巨大的机会来提高其盈利能力和生产力,因此iOS应用程序在任何情况下都可以被证明是更合适的选择。 5.从iOS流行中获得 与某些地区(例如美国和英国)相比,在某些地理区域中,iOS设备获得了极大的欢迎。 打算在全球市场上推广和加强其业务的企业可以非常有利地使用iOS应用程序的覆盖面和受欢迎程度。 6.利用安全优势 这种介质提供的最关键的优势之一是它提供了很高的安全性。 平台具有强大的防御恶意软件,病毒和各种其他威胁的功能,因此该平台会自动为iOS用户提供保护,使其免受多种外部威胁的侵害。 这不仅是您作为企业主选择iOS应用程序构建的重要原因,也是许多用户或潜在客户对您的应用程序有吸引力的原因。 最初于 2018 年9月5日 发布在 www.appypie.com 上。

5个基本旅行提示

原来张贴在这里 计划您的下一次旅行? Yolla用户都是充满活力的旅行者,但是尽管旅行经验丰富,每个人都容易错过一些事情。 作为礼物,我们与您分享在每次旅行之前都会派上用场的重要提示。 根据许多因素,您可能需要非常不同的行李箱才能随身携带。 如果您要旅行到世界各地,那里的季节和天气条件不同,那么您绝对必须仔细考虑行李。 另一方面,这是一个平常的故事:一个人要拿23公斤的衣服,并在整个旅程中穿一条牛仔裤。 它一直在发生,对吧? 花点时间思考一下您到底要穿什么衣服,天气预报说什么,以及您要参加什么活动。将您认为需要的所有物品放在床上,重新考虑您是否真正需要它,然后放进去在你的行李里。 而且请始终牢记您的门票-您不想在登机口感到惊讶,无需支付额外行李托运的意外费用,对吗? 如果您要游览的费用比金条少的地方,请考虑携带便携式充电器。 一个救生员:如今,有解决太阳能的解决方案! 只需将其挂在背包上,即可为智能手机充电,直到天黑了。 如果您打算访问伦敦,则不能选择依靠阳光。 选择充电时间较长的充电设备,以在一天中多次充电。 我们打赌您的Instagram粉丝不愿意错过新照片! 无论您要去哪个国家,都需要花一些时间来学习其语言基础。 它可以在紧急情况下挽救您的生命,并为您提供更好的服务-从酒店办理入住手续到晚餐就餐的餐厅。 另一个有用的提示是随身带一本陈旧的字典或短语书,因为您可能一直都无法连接互联网。 在某些国家/地区,这是必不可少的-并非每个人都能以适当的水平说英语。 我们知道在旅途中待命很重要。 首先,您会与不太幸运的亲朋好友交谈-通常,这些情绪太过热情而无法传达给任何消息。 其次,有时您的商务事务无法让您放松自己想要和需要的方式,这意味着在旅途中会接到无数次办公室电话。 另外,您紧急可能需要在当地餐厅预订桌子,应对航班延误或发生ATM灾难-每次只有一个电话可以救助时。 Yolla是所有这些的最佳解决方案。 从国外拨打电话仅需互联网连接和Yolla余额中的一些费用。 您可以拨打任何电话号码,而无需考虑您要呼叫的电话是否已安装Yolla。 另外,我们的价格如此便宜,以至于您的几次旅行都将剩下$ 4。 是的,您的余额永远不会耗尽。 确保事先安装Yolla并充值。 而在国外时,请保持冷静并致电! 请记住:任何旅行的首要目标是度假。 百分百的身心放松,不断刷新,吸收新的体验和文化。 让您的问题和忧郁的想法留在家中:您会在办公室考虑工作,在家中考虑家务。 尽可能多地度过假期,并感到自己新鲜而充满活力-这不是旅行的重点吗?

使用Jenkins的IOS的CI / CD(使用Jenkins生成.ipa)

Jenkins是许多组织使用的持续集成和持续部署工具。 Jenkins的最重要因素是构建自动化。 就像移动应用程序开发一样,您可以自动构建,测试和部署应用程序到相关的应用商店,还可以通过以下方式设置构建执行:如果有开发人员提交代码,Jenkins将构建->测试->部署应用程序(理想情况下,您应该将条件放在部署上,例如,如果所有测试用例都成功执行,则只能部署)。 在本文中,我将介绍如何使用Jenkins制作ipa文件。 1)使用默认插件下载并安装Jenkins 2)移至Jenkins(http:// localhost:8080)并选择: Manage Jenkins 3)点击: 管理插件 4)单击“ 可用”选项卡,搜索Xcode并安装它 1)移至仪表板,然后单击左侧的“ 新建项目 ”。 2)输入任何名称,然后选择Freestyle Project。 3)现在,这是您需要遵循的最重要的步骤。 在此步骤中,您需要提供有关代码存储库的所有信息,构建流程命令(在此,因为我们使用的是Xcode插件,所以不会),选择配置并设置路径。 在这里,我使用的是Git,因此我需要通过选择git选项来提及存储库URL。 如果您的存储库是私有的,则还需要设置凭据(有关更多信息,请参见此信息。) 移至Build并单击Add build step按钮并选择Xcode选项,它将添加Xcode相关字段。 在常规构建设置中,单击设置按钮,然后准确填写以下字段。 I)选择打包应用程序,构建并签名.ipa? 选项。 II) 配置: .app的导出方法以生成.ipa文件。 应该是“开发”,“临时”,“企业”或“应用商店”中的一个。 III) .ipa文件名模式 :ipa文件名的模式。 您可以在此字符串中使用$ {VERSION}和$ {BUILD_DATE}(yyyy.MM.dd)。 现在,在进入“代码签名和OS X钥匙串选项”部分之前,您需要根据Jenkins Global配置创建开发团队 ,然后执行以下操作。 I)移至Jenkins信息中心>管理Jenkins> 配置系统 II)转到Xcode构建器部分,然后单击前面的Apple Development Teams字段中的Add按钮,它将为您提供两个字段,因此请填写VALID Team Name和Development Team ID III) 添加钥匙串并填写钥匙串名称和钥匙串密码的有效值(钥匙串路径已经存在) IV)申请并保存 理想情况下,您首先应该只获取git […]

构建像Lego这样的应用程序-教程2

风景和场景 1.简介 导航移动应用程序与使用Web浏览器根本不同。 客户喜欢移动UI(用户界面)的简单性和可预测性。 他们可以使用相同的导航操作从一个应用程序切换到另一个应用程序,以在功能之间切换,滚动列表,向下钻取更具体的内容等等。 在本系列的教程2中,我们将讨论如何在其他内容中管理视觉内容,包括超级视图中的子视图以及父场景中的子场景。 我们将介绍标签栏控制器和标签栏。 确保您已完成本系列的教程1。 我们将从教程1停止的地方开始。 回想一下,我们的目标是构建一个看起来像这样的应用程序: 在教程1中,我们创建了一个模板选项卡式应用程序。 它只有两个标签栏项目(底部的“新闻/第一和第二”图标),但是我们需要三个标签栏项目。 我们还需要每个导航栏。 每个场景(新闻,产品和聊天)都需要一个滚动列表。 2.场景,视图控制器和视图 为了组装我们的应用程序,我们需要知道用于描述基本构建块的三个术语:“场景”,“视图控制器”和“视图”。 场景提供了要显示在iPhone屏幕上的内容。 它包含一个视图和一个视图控制器。 场景的视图包含要显示的视觉元素。 场景的视图控制器是告诉场景的代码。 术语“场景”和“视图控制器”通常可互换使用,表示同一事物。 非正式地,您可能还会听到人们将其称为“页面”,“窗口”或“屏幕”。 从技术上讲,iPhone仅具有一个物理“屏幕”,每个应用程序都仅存在于一个“窗口”中。 👉在项目浏览器中,单击Main.storyboard将其选中。 you如您所见,在Xcode的Interface Builder中,情节提要包含我们在教程1中创建的三个关联场景,标题分别为: Tab Bar Controller , News和Second 。 👁在文档大纲中查找。 您可以在大纲视图中看到相同的三个场景,每个Scene都以后缀Scene命名。 在应用程序中导航时,它会呈现不同的场景。 到目前为止,当我们运行应用程序时,我们可以在新闻场景和第二场景之间切换。 场景的视觉内容称为其“视图”。 👉在“文档大纲”中,展开“ News Scene和位于其下方的“ News视图控制器(通过单击每个视图左侧的三角形)。 👁您可以看到它包含“ News视图控制器和场景的“ View 。 3.超级视图和子视图 视图始终具有矩形形状。 一个视图可能包含其他视图。 包含的视图称为“超级视图”,其中的视图称为“子视图”。 例如,我们的News场景的视图当前包含两个子视图: News标签和Loaded by FirstViewController标签。 👉在文档大纲中展开“ News […]

您必须真正挖掘我们!

非常感谢所有支持Upvod的人,告诉了一位朋友,或者甚至只是使用Etch来保存或发现本周新的亮点的每个人。 我们将带您去undah(请带澳大利亚口音)之旅,也许是有史以来最好的社交活动 。 哦,我们会知道的-我们去过大多数人。 与往常一样,如果您知道有人可能对尝试Etch有兴趣( 可以在此处下载 ),或者甚至只是每周阅读有关我们的最新信息,请使用下面的“ Forward”大链接进行转发,并鼓励他们订阅。 向前! 得到了我们的反馈? 如有任何想法或建议,请通过contact@etchapp.com向我们发送便条,我们希望听到他们的声音! 再次感谢您的支持! –麦克和布拉德