Tag: 移动应用程序开发

对iPhone应用程序开发人员的需求增加的主要原因

iPhone应用程序开发是许多独立开发人员无法掌握的任务。 随着它的普及度飙升,企业别无选择,只能雇用iPhone应用程序开发公司。 不到十年前,企业移动应用程序才是新事物。 他们为大型企业提供了扩大竞争差距和提升品牌价值的机会。 如今,企业移动应用程序已变得越来越必要。 如果您的企业不使用移动应用程序,则有可能远远落后于竞争对手。 随着越来越多的公司开始其数字化转型之旅,对应用程序开发人员的需求猛增。 根据CIRP发布的数据,iPhone在美国的市场份额在2017年第四季度增长了5%,达到近40%。 因此,租用iPhone应用程序的需求增加了。 大多数公司通过在Android和iPhone应用程序开发人员之间进行选择来开始这一旅程。 毕竟,这两个操作系统主导着企业应用程序开发领域。 但是,您需要首先考虑其他事项。 首选不是iPhone与Android 在确定是否应该聘请Android团队或聘用iPhone应用程序开发人员之前,重要的是要选择采用传统的应用程序开发路线还是通过使用移动应用程序开发平台创建移动解决方案。 传统的应用程序开发过程包括定义应用程序功能,然后从头开始对每个功能进行编码。 另一方面,移动应用程序开发平台包含大量预先开发的模块。 所需的模块可以通过简单的拖放方法包含在您的企业解决方案中。 移动应用程序开发平台带有用户友好的仪表板和强大的工具,可创建完全根据您的独特业务流程,需求和生态系统定制的移动解决方案。 这些平台不仅减少了开发时间和成本,而且还使您免于冗长的测试和错误修复,因为这些模块均无错误。 由于此类平台可帮助您创建比传统iPhone应用程序开发快10倍的应用程序 ,而成本仅为一小部分,因此您可以在数周内准备好Android和iPhone版本的移动解决方案。 雇用iPhone应用程序开发人员的需求不断增加 随着移动解决方案成为各行各业企业不可或缺的一部分,雇用iPhone应用开发人员的需求激增。 以下是公司开始使用iPhone进行数字化之旅的一些原因: 目标观众 在美国和英国拥有雇员或客户的公司可能会选择iPhone应用程序开发人员来开始创建其移动解决方案,因为发达市场中越来越多的人已经可以使用iPhone设备。 此外,iphone应用程序开发公司创建的移动应用程序供高层管理人员或高端客户使用,因为苹果产品在该细分市场中得到了更广泛的使用,因此他们可能会选择iPhone。 《福布斯》援引一份报告称,iPhone用户更为富裕,其中41%的人的年收入超过10万美元。 品牌价值 开发企业移动应用程序是为了满足业务目标。 这取决于解决方案是B2E(企业对雇员)还是B2C(企业对消费者)。 对于B2E,目标可能是更高的效率,更高的生产率,增强的灵活性以及达到更大的人才库,而对于B2C,目标可能包括销售增长,改善的客户支持和更高的客户保留率。 当主要目标是建立品牌时,考虑到苹果的品牌价值,公司可能会选择雇用iPhone应用程序开发人员。 用户体验 将用户体验放在首位的公司可能会选择iPhone,因为该操作系统以提供简单而吸引人的界面而闻名。 通过严格的指导方针,Apple确保了高度直观和引人入胜的用户体验。 而且,iPhone设备更具凝聚力,为整体体验增加了价值。 依靠硬件 如果某个应用严重依赖智能手机的硬件,那么雇用iPhone应用开发人员可能是一个不错的选择。 苹果的产品以其最先进的硬件组件而闻名。 这也以直观,创新和现代的感觉增加了用户体验。 因此,如果您的应用程序将主要由对价格不敏感的企业领导人,高层管理人员,高层管理人员或客户使用,并且如果您的主要目标是建立品牌并提供出色的用户体验,那么请选择雇用iPhone应用开发者。 为了缩短周转时间,请选择功能强大的移动应用程序开发平台来创建可针对您的独特业务需求和目标进行高度定制的高质量应用程序。 有关更多查询,请联系我们的iOS专业知识 。

使用Apple的iOS 11 Vision框架进行人脸检测

今年秋天,来自Apple的好东西! 在许多新的API中,有Vision框架可帮助检测人脸,人脸特征,对象跟踪等。 在这篇文章中,我们将探讨如何使人脸检测工作。 我们将制作一个简单的应用程序,它可以拍摄照片(使用图库中的相机),并在检测到的脸上绘制一些线条,以向您展示Vision的力量。 选择图像 我将快速进行介绍,因此,如果您是一个真正的初学者,而您觉得这样做太难了,请首先查看我以前的iOS相关文章“ 构建旅行照片共享iOS应用” ,因为它具有相同的照片选择功能,但是详细解释。 您将需要Xcode 9 beta和运行iOS 11 beta的设备进行测试。 让我们从创建一个新的名为FaceVision的 Single View App项目开始 : 打开Main.storyboard然后将Take Photo按钮拖到其中心。 使用约束使其停留在该位置🙂为其创建一个takePhoto动作: 现在,创建一个名为ImageViewControler.swift的新UIViewController类,并将其设置为您刚刚添加到Main.storyboard中的新View Controller的Main.storyboard : 还要为“ 图像视图”添加一个出口,并添加一个新属性来保存用户的图像: 检测面部特征 现在该到有趣的部分了,检测图像中的面部和面部特征。 为流程创建一个新的process动作! 具有以下内容的按钮: 希望您喜欢这个,请在​​评论中让我知道如何进行以及是否有可以改进的地方。 此外,使用该应用程序拍摄的某些照片完全不会受伤🙂 您可以从此处获取代码:https://github.com/intelligentbee/FaceVision 谢谢! 最初发布于 smartbee.com 。

App Store优化-开发人员可以做什么?

本文大致指的是我的同事Piotr Juszczak撰写的ASO简介文章-可以在这里找到该文章:如何增加应用下载量-应用商店优化。 可以通过iTunnes Connect访问评论: 选择应用->活动->评分和评论→iOS应用 可以按版本,等级,评论显示评论,并可以按用户所在国家/地区排序。 有趣的是,所有开发人员对用户的回复均由Apple处理。 当它们发布时,用户将收到一封电子邮件,鼓励他们继续对话或更改应用程序的评论和评分。 得益于此改进,App Store的审查部分已从回声室转变为沟通的媒介。 在这些交互过程中,您始终需要记住,Apple确实在乎评论的客观性,它们应该始终显示真实情况。 任何影响等级的尝试都可能导致应用程序从商店中删除,并且开发者帐户被暂停。 苹果搜索广告 ASO专家可能会感兴趣的是,每个iOS开发人员都可以轻松访问关键字工具,该工具是Apple Search Ads平台的一部分。 有许多工具会尽力为您提供有关某些关键字的受欢迎程度以及与类似应用程序竞争的难易程度的适当统计信息。 不幸的是,这些解决方案中有许多是基于假设和预测的。 如果您想查看Apple的官方数据,只有一种方法可以通过Search Ads进行。 注册后,您需要创建一个新的广告系列并选择一个基于您的搜索的应用程序。 您无需成为应用程序的发布者即可查看建议的关键字(按受欢迎程度排名)。 您甚至可以搜索与最初选择的应用程序的主题完全无关的短语: 免费使用关键字研究工具,您无需为此创建广告系列。 这是一种双重检查来自Sensor Tower或App Annie的数据的替代方法。 希望ASO与营销活动结合并不断响应用户的反馈将为您带来成功。 最初于 2017 年12月6日 发布在 www.itgenerator.com 上。

在Swift中读取,写入和删除文件

当今大多数普通应用程序都是通过HTTP进行通信的。 虽然我们可以通过这种方式读取和写入数据,但仍然需要将数据保存到设备本地文件中,这仍然非常普遍。 让我们讨论一下如何完成,然后提出一种更简单的方法。 TL; DR 如果您不希望自己学习如何做,请在GitHub上查看我的File项目(但您确实应该知道它是如何完成的,因此请继续阅读!)。 FileManager和URL 刚开始在iOS中进行文件处理时,它会令人望而生畏。 您必须学习FileManager,在您发现需要传递URL之前,它看起来还不错。 然后,您停下来思考:“等等,URL与保存文件有什么关系? 这令人困惑。” Apple选择使用URL作为通用语言来传达文件在文件系统中的位置。 一旦您对这个概念有所了解,它确实非常巧妙。 通过字符串处理文件位置可能会很混乱(我有数十行的旧服务器代码用于遍历目录和文件以证明这一点),但是使用URL会将它们包装在一个非常需要的结构中,该结构相对容易理解和理解。如果您以前使用过URL进行联网,则很熟悉。 即使您以前从未使用过URL,我们所需的基础知识也确实很容易。 实际上,可以将其全部简化为包含三个简单步骤的模式: 1.创建目标目录URL 2.使用目录URL创建文件URL 3.将数据保存到文件URL 让我们看一下这是如何完成的。 注意:如果您以前从未使用过FileManager,请知道它使用Singleton模式,并且不直接实例化FileManager,而是使用FileManager.default来调用FileManager的属性和函数。 如果您不熟悉单例模式,那是确保在应用程序的生命周期中仅实例化类的一个实例的一种方法。 目录网址 首先,我们需要一个用于文档目录的URL。 您不必将所有内容都保存到documents目录,但这是最合乎逻辑的开始,并且一旦您知道如何保存在那里,就很容易保存到其他位置。 我们将使用以下代码来获取文档目录的URL: 让directoryURL = FileManager.default.urls(用于:.documentDirectory,在:.userDomainMask中)[0] 我们在这里要做的是向FileManager索要用户主目录(或在iOS中为应用程序的主目录)中文档目录的URL列表。 这将返回一个数组,其第一个条目将包含documents目录,这就是为什么我们在语句末尾指定[0]的第一个数组索引的原因。 这将返回文档目录的URL对象。 真的就是这么简单。 档案网址 现在我们有了要保存文件的目录的URL,让我们创建文件本身的URL。 为此,我们使用URL(fileURLWithPath:relativeTo:) 。 fileURLWithPath参数中引用的路径是文件名,不包括任何文件扩展名。 例如,如果我们想要一个名为“ myFile.txt”的文件,则fileURLWithPath将为“ myFile”(我稍后将解决“ .txt”扩展名)。 接下来, relativeTo参数是文件将保存到的目录。 该参数带有一个URL ,您猜到了,我们将简单地传入上面的URL : 让fileURL = URL(fileURLWithPath:“ myFile”,relativeTo:directoryURL) 好吧,那文件扩展名呢? 要添加该代码,只需在调用末尾添加appendingPathExtension(:) ,如下所示: let […]

为什么混合动力不是移动的未来

作为一名iOS开发人员,以及在多个面向客户的角色方面都有经验的人,我注意到越来越多的人被混合解决方案吸引,这些混合解决方案是完全本机的替代方案。 吹捧的主要卖点包括减少开发和维护成本以及更快的交付速度。 本文将说明情况并非如此,并探讨使用混合而非本地混合将如何损害应用程序的成功并增加成本。 一直在追赶 进行混合时,您的应用将始终比其本机同类产品落后数月。 可以使用更新版本的Android和iOS,其中包括更新的硬件,新功能(例如Face ID,Apple Pay和Augmented Reality)以及现代化的设计。 谷歌和苹果将分别允许开发人员在发布之前以本地方式访问新功能。 混合社区需要花费大量时间来做出反应和进行调整,因此,在利用新功能方面落后了几个月。 厨师太多 “太多的厨师把汤糟了。” 混合社区存在很大的分歧。 每个公司都认为他们的混合解决方案可以提供最佳结果。 您可以举出React Native,Xamarin和Titanium等几种,每种都具有各自的开发环境-质量各不相同。 每隔两年就会出现全新的混合框架,而现有的框架将变得过时,多余并失去流行性(例如,PhoneGap)。 将旧的混合应用程序迁移到支持较新设备的解决方案上花费了大量的金钱和开发时间。 原生的Android和iOS社区更大,但分散程度更低,并得到了Google和Apple的支持以保持高质量。 工具类 这些工具始终保持一致。 例如; Xcode是iOS开发人员的主要IDE,自2003年以来一直存在。它是功能最丰富,功能最强大的开发人员工具之一,即使最高级的开发人员也可以在其中找到优化工作流程的新方法。 相比之下,本机工具被广泛地记录在案,并拥有庞大的人脉网络来提供帮助,从而大大减少了从构思到应用商店的构思时间。 本机Android和iOS应用程序也更加稳定-随着社区的成熟,更多的调试工具,问题解决方案以及错误处理方式。 混合框架仍处于起步阶段,导致代码更容易出错,破坏了用户体验,并使管理开发时间的预期更加困难。 从来都不是本地人 Android和iOS用户群对他们希望其应用的外观和感觉有一定的期望。 从用户体验的角度来看,它们有很大的不同。 Android遵循Google的Material Design,iOS遵循Apple的人机界面指南。 混合开发人员可以尝试模仿本机应用程序的行为,但要花费两倍的时间才能满足特定的边缘情况和场景。 反过来,代码变得更加混乱且难以维护,因此,在应用程序生命周期的更低端引入新功能将更加困难且成本更高。 混合应用程序会占用手机更多的空间。 如果您选择混合解决方案,请准备排除很大比例的用户,这些用户的手机容量不足或不愿安装太多大型应用程序。 AirBnb在他们的文章中指出,诸如此类的因素迫使他们在使用React Native两年后改回本机。 总结一下 混合解决方案旨在取悦所有人,但它牺牲了最重要的一点:应用程序在用户手中的外观,感觉和行为,从而影响了应用程序的感知性能和质量。 杂种可能认为自己是可行的“两只鸟,一块石头”的解决方案。 我以及其他许多人发现,这需要付出太多折衷,在疏远用户的同时,将时间,开发和维护成本提高到比其本国同行更高的水平。 在DTT,我们专注于提供高质量的本地解决方案,这意味着我们的客户可以获得最佳结果,而成本和时间表却仍是方便且可管理的。 进行混合之前:考虑您要妥协的地方。

构建移动应用程序:首先离线,最后离线!

“由于互联网连接可能不稳定或不存在,因此您需要首先考虑离线:将您的应用编写为没有互联网连接。 一旦您的应用程序脱机工作,请添加您的应用程序所需的任何网络功能,以使其在联机时能做更多。” [来源:脱机优先] 但这很痛苦,对吧? 脱机代码,在线代码,对网络连接的更改做出反应,解决数据冲突,yadda,yadda。 大量的时间和低级的代码花费在移动数据上。 但是,我们必须正确地做。 精心设计的移动应用程序可让用户完成工作,而不会抱怨互联网连接的不足或质量。 在我的工作中,我看到了与Salesforce平台集成的自定义移动应用程序的许多有趣用例,而脱机需求通常最难满足。 因此,我对试用Realm的新对象服务器(其移动平台的后端)非常感兴趣: “ Realm Mobile Platform在服务器和设备之间提供自动和无缝的实时数据同步以及强大的事件处理功能。 您无需再考虑网络代码。 Realm Mobile数据库是跨平台的,同时支持iOS和Android,并且Realm Object Server可以在您的服务器或您喜欢的云上运行。” [来源:Realm Mobile Platform] 听起来很有希望,所以我着手研究如何将Realm Object Server与Salesforce集成。 更具体地说,我想看看是否可以监视通过Realm的示例移动应用程序“ Realm Tasks”进行的数据更改,然后相应地创建和更新Salesforce任务记录。 而且我在短短几分钟内就做到了(好吧,这还不包括阅读Realm文档以及了解如何设置自定义事件监控所需的时间)。 领域对象服务器太棒了! 我在移动设备上修改了数据,该数据几乎立即显示在Realm Object Server中。 我使设备脱机,更新了设备和服务器上的数据,然后看着我重新打开WiFi后毫不费力地同步了本地数据库。 Realm Object Server忠实地通知了我的事件监视器,该事件监视器触发了对Salesforce的API调用。 根本没有用于处理数据同步的代码,只有一个相对简单的Javascript文件即可监视事件并更新Salesforce。 请参阅GitHub上的源代码。

您是否了解与iOS App开发相关的准则?

无论您是iOS应用程序开发领域的新手还是一支经验丰富的专业人员团队,都希望创建更多应用程序,请确保在开始开发旅程之前,您已经非常熟悉这些准则。 但是,如果您不了解这些准则,请不要担心,因为我们在这里可以帮助您理解这些准则。 iPhone App开发指南 尽管应用程序开发人员应遵循许多准则,但我们将所有准则汇总在一起,并在3个主要主题中列出了这些准则: 1.发展方针 2.设计准则 3.营销准则 通过对指南的详细说明,进一步解释了所有3条指南部分。 进一步阅读以了解更多信息。 — https://goo.gl/vNu65K

圣地亚哥离合器最佳移动应用程序开发人员评论

移动平台既代表着独特的机遇,也代表着独特的挑战。 独特的机会是为不同行业创建具有不同概念的移动应用程序,以吸引渴望利用公司产品和服务的目标受众,而独特的挑战是设计和开发具有最佳用户体验的定制应用程序,以留住这些用户。 选择移动应用开发机构之前,您应该先进行头脑风暴会议来决定; 您在应用程序中寻找什么? 谁是您的目标受众? 谁是您的竞争对手? 您想在应用程序中添加哪些功能? 确定要求后,就开始为梦想的项目搜索最佳的移动应用程序开发合作伙伴。 由于市场上有许多应用程序开发人员,因此很难选择最好的应用程序。 您如何确定这家公司是最好的移动应用开发公司? 您考虑过哪些关键因素? 他们的应用程序是否可扩展? 强大的? 有多受欢迎? 该应用程序是否能够创造出色的用户体验,用户界面和直观的本质? 根据我的研究,公司的投资组合/客户群以及对离合器的评价,我已经编制了旧金山最佳移动应用程序开发人员名单。 您可以看一下圣地亚哥的一些优秀的移动应用程序开发人员,如下所示: Seamgen成立于2008年,旨在解决技术和设计方面的复杂问题。 目前,他们通过聘用我们能找到的最有才华的人才,并通过蓬勃发展所需的工具和关系将他们插入环境中来实现这一目标。 最小项目规模:75,000美元以上 平均时薪:$ 100 – $ 149 员工人数:50–249 AppClues Infotech是英国,美国,加拿大和印度最好的UI / UX设计,移动应用程序开发机构之一,专门从事移动应用程序创新和策略。 我们将它们集成到成熟的业务解决方案中,为您的公司建立强大的在线形象并最大程度地提高您的投资回报率。 最小项目规模:10,000美元 平均时薪:$ 15- $ 99 员工人数:25–99 BitCot是一家屡获殊荣的全方位服务应用程序开发公司,专门为财富500强企业的初创公司开发出色的移动/网络应用程序。我们是一个由40名工程师/设计师组成的团队,对应用程序和发展充满热情。 我们以创造价值创造业务和消费产品为荣。 最低项目规模:$ 5,000 + 平均时薪:$ 25- $ 49 员工人数:10–49 感谢您阅读本文,希望对您有所帮助。

移动开发人员pt.2的无尽痛苦

最初发布在我的博客上 安装Usergrid。 您最好使用RTFM,并在2017年6月使用该手册将我的故事视为对我的冒险的一组评论。 Usergrid Stack是一个在Tomcat上运行的Java EE Web应用程序,使用Cassandra数据库进行存储,并使用ElasticSearch搜索引擎进行查询。 在将Usegrid Stack安装到Tomcat之前,您将首先设置数据库和搜索引擎节点。 首先,您需要Cassandra。 出于存储目的,我设置了一个单独的Ubuntu实例,该实例将成为Cassandra单节点群集。 设置很简单,并在Cassandra官方文档或数字海洋教程中进行了介绍(它们似乎更加时髦) 下一步是弹性搜索 再次,我使用了数字海洋教程 与Tomcat相同。 Usergrid似乎需要Tomcat 7或更高版本,这就是为什么我决定尝试8并看看会发生什么的原因。 立即我遇到了usergrid config的问题。 似乎在部署到tomcat的过程中没有拾取配置文件usergrid-deployment.properties 。 无论我将它们放在文档所说的位置还是遵循互联网上的各种建议。 它既没有与elasticsearch也没有与cassandra连接。 互联网上有几个与此问题有关的问题以及一些可能的解决方案: 您自己和用户网格从源进行构建可能会开始获取配置。 自己从源代码构建,并替换默认配置文件。 上帝保佑Java开发人员,从源代码进行构建并不痛苦。 除了构建文档中未提及的4行: cd ~\usergrid\sdks\java mvn install cd ..\..\stack mvn install -DskipTests=true 好。 更详细地查看日志表明,即使在我重建之前,如果它们位于…。/ tomcat / lib /中,它也确实会拾取配置。 =( 我的Cassandra节点和usergrid后端位于不同的实例上,并且在抽出更多日志之后,事实证明问题出在Cassandra配置中,并且是绑定地址。 但是尽管如此,我还是学会了如何构建usergrid,现在该起飞了! 还没。 同样,usergrid无法在Tomcat下启动。 我决定擦除Tomcat8并尝试使用Tomcat7。 而且有效(!) 下一个问题是在Elastic Search中。 日志显示连接尝试异常。 我重新安装了usergrid docs中相同版本的ES:1.7.2,而不是最新的5.4.xо_О […]

IONIC的iOS推送通知

我已经与Ionic合作了将近2年。 毫无疑问,这是构建混合应用程序的顶级框架,因为它提供了开箱即用的本机界面,易于使用的CLI,它使用了适用于本机API(例如Camera,Geo-Location,Push Notification等)的Cordova插件。 一年来,在为iOS和Android开发应用程序时,我不得不在一些应用程序中实现推送通知服务。 由于Apple的开发树比android复杂得多,并且缺乏社区支持导致了我大量的错误和调试。 因此,本帖子专为那些现在正在敲打头或敲打键盘的用户而设计。 分三个步骤。 安装Push插件并配置您的应用。 创建APP ID 生成APNS证书 首先启动您的终端并转到项目的根目录,并使用以下命令安装推插件: cordova plugin add phonegap-plugin-push –variable SENDER_ID=”1234567890″ 您无需担心SENDER_ID,只需保持原样。 要检查插件是否正确安装,请运行以下命令: 科尔多瓦插件ls 您会在应用程序中看到已安装插件的列表。 或者,您可以检查package.json文件,您将看到类似以下内容: 然后在您的服务内添加以下代码: var push = PushNotification.init({ ios:{ 警告:“ true”, 徽章:是的, 声音:“假” } }); PushNotification.hasPermission(function(data){ 如果(data.isEnabled){ console.log(’isEnabled’); } }); push.on(’registration’,function(data){ console.log(data.registrationId); // registrationId是设备令牌。 //根据您的要求将其存储或发送到服务器。 }); //每当设备上的第三方推送服务收到推送通知或您点击通知时,都会触发以下事件。push.on(’notification’,function(data){ console.log(data); //在这里处理您的数据 }); push.on(’error’,function(e){ console.log(e); }); 这一切都在您端上。 接下来,我们将在Apple开发人员帐户中创建APP […]