Tag: iOS应用开发

iOS等待漫长征途

这个故事始于我的副业做功德。 我从2017.12开始开发此应用程序,并将其提交给2018.3.17的苹果商店。 苹果因我的应用程序中的误导性元数据而拒绝了我。 我使用10美元向用户展示他得到的虚拟硬币。 审稿人说,用户会相信他们会得到10美元的真实货币。 这会让他们感到受骗。 因此,我的应用程序被拒绝。 我同意这种观点,我也不希望这种情况发生。 我更改了措辞以及我的应用程序设计,并于2018.3.20重新提交了该应用程序。 今天,2018.3.31,我的应用仍处于等待审核状态。 已经11天了。 我不禁继续检查我的电子邮件,检查电话上的通知徽章编号,登录到iTunes connect以查看审阅状态。 一次又一次刷新所有内容。 我用google搜索评论ios应用程序的平均时间,并得到2天的答案。 然后,我去Apple的开发人员论坛,看看是否有任何开发人员面临相同的情况。 幸运的是,我还没有。 我不是等待苹果审查超过2天的唯一人。 有开发人员等待数周或数月。 这让我感到更糟。 我正在他们永远等待的路上。 我可以看到他们的帖子和回复,说他们已经多次联系Apple,但只收到罐头回复。 您唯一可以做的就是等待。 就像在等待女友对您的建议说“是”一样。 就像您申请的第一份工作一样,等待公司同意。 就像在等待死亡。 这个决定不是你的。 除了等待,您无能为力。 这些天,我感到非常难过,无法集中注意力无法入睡。 我什至梦想着收到苹果的答复。 这就是我等待的全部吗? 我开始寻找出路,我得到了如何面对这种情况的答案。 从本文开始。 我决定写一系列有关苹果审查的等待日的文章。 开始写作时感觉确实更好。 也让我很清楚。 我开始抽出生命和时间。 我应该更加关注周围的人和周围的事物。 我希望这可以为面临相同情况的开发人员提供帮助。 苹果帮助我们重新考虑了您的生活。 提交iOS应用对您来说真的那么重要吗? 我仍然希望我能通过审核,但不会像以前那样频繁地进行审核。 我想向自己保证,我每周只能检查一次。

印度的iOS App开发公司

新公司应该将资源投入iPhone应用程序开发公司,以使它们能够在iOS,Android和Web上运行,这有很多原因。 无论如何,作为第一步,他们有理由将重点放在iOS / iPhone应用开发公司上。 iPhone应用程序的日益普及也源于长期竞赛生产的智能手机价格下降。 促使应用程序展示台引人注目的另一个重要原因是,适应性强,以客户为导向的,坚实的框架得以兴起,该框架处理了iPhone App的开发和发行。 察觉到应用程序的广泛声誉和灿烂的未来前景,众多公司纷纷涉足便携式iOS应用程序开发。 “根据市场研究机构App Annie的预测,到2020年,移动应用市场规模将翻一番,达到1010亿美元” 这样,除了我的探索之外,根据我的观点,我陪同一些iPhone App开发公司在评论员,学者,客户以及其他代表中被公认为“最佳”。 这些iOS应用开发公司在成本,风险时间表,质量和标准通信方面处于最高位置。 在这些发展中的市场中,印度的重要性更为明显,因为它们已进入多功能应用程序开发和利用。 印度的顶级便携式应用程序设计师正在为一些广受赞誉的品牌提供服务,而该应用程序展示会具有巨大的潜力,可以根据发展进步和各种用途来生产Android和iOS应用程序。 我了解Android是更大的市场,但有询问称iPhone App Development是方法。 iPhone应用程序比Android应用程序产生的收入多85%。 制造iPhone App的不同动机包括: 根据屏幕详细信息进行了适合小工具的应用程序开发 高安全性 所有iOS应用程序都非常适合Apple小工具 苹果完全控制iPhone软件 顶级iPhone应用开发公司 HokuApps:iPhone应用程序开发 HokuApps是总部位于新加坡的公司,已经存在了一段时间。 HokuApps大力投入其iPhone应用程序开发阶段,使应用程序的速度提高了10倍。 他们有信心以低代码量快速处理应用程序,以处理应用程序开发。 需要支出计划和时间,这些人最适合您。HokuApps这样的公司为Hire iPhone应用程序设计师等管理人员提供了通过快速应用程序升级阶段制作iPhone应用程序的工作,该阶段通过重用细分来创建自定义的请求业务模块。 专长: HokuApps是发展最快的低代码平台,使公司能够以惊人的速度开发创新技术解决方案。 HokuApps是一家数字化转型公司,致力于提供Android,iOS移动应用程序开发(在几天而不是几周内开发移动应用程序)。 我们快速的应用程序开发平台增强了移动和数据集成功能,使公司能够快速部署移动和Web应用程序。 我们使公司能够启动其数字化转型之旅,以更好地与客户,合作伙伴和员工互动。 像Teddy Nissan,PTI QCS和Big Red这样充满活力的全球化企业,使用我们的平台来开发业务应用程序,以使他们的客户满意并提高运营水平。 Mobisoft Infotech: 他们认为,通过发展和无懈可击的想象力,可以将业务和创新带入更大的领域。 Mobisoft是项目推进和咨询管理公司。 他们与各种规模的新公司和组织合作,通过合并有问题的创新安排,逐步创建,增强和对比项目。 专业知识:六年来,他们与100多个应用程序开发人员合作,为100多个全球客户提供服务。 Mobomo: Mobomo是值得信赖的便携式iOS应用开发公司。 他们具有不可思议的经验,可以建立有价值的,可扩展的规模,并与便携式和响应式网站组合联系在一起。 他们的程序通过发现客户的需求和障碍来发现客户的亮点。 他们理解并询问客户应用程序中所有必要的微妙元素和必要性,并出色地找到Mobomo可以提供帮助的地方。 加油: Fueled是一项获得认可的多功能应用程序计划,是iOS应用程序开发公司。 他们的团队拥有独特的荣誉,并为新业务和可观的公司编造了各种应用程序。 […]

使用Hasura构建待办事项iOS应用

让我们创建另一个名为Hasura.swift类 它将充当我们的离线存储,用于存储用户的authtoken和hasuraId 。 这将用于检查用户是否在应用启动时登录,并验证我们随后的API调用。 注意:为了更好地了解 Hasura auth的工作方式。 请检查 文档 。 2. Embed其Embed UINavigationController 。 给此UINavigationController一个Storyboard ID “ TodoNavigationController”(此标识符在AuthorizationViewController用于导航到TodoViewController ) UIBarButtonItems在TodoViewController两个UIBarButtonItems ,一个用于注销 ,另一个用于添加ANewTodo 4.添加一个Basic样式的Prototype Cell 带有Identifier “ todoCell ”的UITableView 。 在为UIBarButtonItems添加动作之后,我们的TodoViewController.swift应该如下所示: 在上面的代码中,当用户要注销时,我们还将显示警报,而当用户要添加新的待办事项时,将显示文本字段警报,询问待办事项的标题。 接下来,让我们创建一个模型对象,该模型对象代表在todo表(我们通过Hasura控制台创建)中创建的每个条目。 让我们称之为TodoRecord : Hasura上的数据API通过将查询发布到以下端点来工作: https:// data。 .hasura-app.io / v1 / query 注意:请仔细阅读 文档 以获得更好的理解。 TodoViewController需要进行5个api调用: 提取用户的所有待办事项: 该API如下所示: POST 数据。 .hasura-app.io / v1 / query […]

印度排名前五的iOS应用开发代理商/公司

日本,中国和美国是每天使用iOS移动应用程序的领先者。 而且,它对于市场的增长仍然很重要。 如今,其他主要市场正在推动这一趋势,例如墨西哥,印度,阿根廷和印度尼西亚。 在上述所有市场中,印度对iOS移动应用程序的开发(与消费相比)正变得越来越重要。 印度顶级的iOS应用程序开发机构和开发人员正在为许多知名品牌制作应用程序,而当前的iOS应用程序市场具有巨大的潜力,可以在使用的各种新技术和用途广泛的应用中吸引Android应用程序。 在过去的5年中,有许多iOS应用开发机构即将成立,要找到一个优秀的机构是一项艰巨的任务。 我们将这些公司列入候选名单的过程包括以下事先检查: Glassdoor审查以检查公司的信誉 使用关键字分析工具检查公司的热门关键字 与公司客户联系以检查客户满意度 阅读有关公司的客户评论 查看档案袋和过去的工作记录 让我们来看看印度排名前五的iOS应用开发机构: –胎儿 Contus是位于印度金奈的iOS和移动应用程序开发公司 ,致力于利用最新趋势技术开发移动应用程序,例如IoT,AR和VR,iBeacons,BLE 4.0和Wearable技术。 Contus iOS应用程序开发部门已经为汽车,医疗保健,金融,食品,电子商务等各个行业创建了iOS应用程序开发服务。 他们正在使用一个著名的应用程序M-Comm,该应用程序是一种即用型解决方案,可以使各种电子商务行业和公司立即为其在线商店和实时聊天应用程序创建移动应用程序。 此外,该公司还提供了一种用于创建即时聊天应用程序的解决方案,该解决方案可满足多种目的,例如公司沟通,应用内聊天,个人沟通和社交讨论需求。 世界银行,巴拉特·本茨(Bharath Benz),巴勒斯坦银行,波士顿兰斯当(Boston Lansdowne)餐厅和其他著名的餐厅连锁店都是与Contus移动应用程序开发相关的知名企业。 -AppZure AppZure是印度10个iOS应用程序开发机构之一 。 他们为Android,Windows和iOS提供本机以及跨平台的移动应用程序开发解决方案。 该公司致力于跨平台技术,例如PhoneGap,Xamarin和React Native。 他们拥有一支由100多个移动应用程序开发人员组成的团队-具有5年以上的平均经验,他们随时准备应对新的挑战。 他们的理念是在设计和开发移动应用程序时将注意力集中在用户体验上。 软件保证有限责任公司(SPA) : Software Assurance LLC是印度可信赖的最佳iOS应用开发公司。 他们拥有一支针对Android和iOS应用程序的本机和混合移动应用程序开发专家团队,他们精通先进的工具来提供优质的服务。 他们在移动应用程序开发服务方面拥有10年以上的经验,并且已根据客户要求交付了250多个项目。 -累计 累积的专业知识领域是IoT和iOS应用开发,因为该公司专注于家庭自动化,零售,保健和信息娱乐等各个行业。 他们拥有一支拥有7年以上经验的经验丰富的开发团队,Culminations在电子行业中享有盛誉,其客户包括英特尔,西门子等。 -Sourcebits Sourcebits被公认为印度最受信任的5个iOS应用开发机构之一。 他们采用了独特的分阶段方法,包括设计,开发,策略和测试。 一旦他们的客户的应用程序放置在App Store中并向大众提供,Sourcebits开发团队还将帮助他们营销客户的产品。 分析是Sourcebits致力于帮助客户和企业获得质量信息的领域的另一个领域。 -Synologics SynLogics是一家企业级iOS应用程序和业务自动化开发公司,致力于为业务流程自动化,云电子商务,数字营销,云计算,Web应用程序和企业iOS应用程序开发以及跨平台移动应用程序提供高质量的服务。 他们专门从事渠道和云中业务到业务流程自动化的迁移。 他们团队的专业知识在于计划,部署和执行。 他们为各种业务提供完整的解决方案,并努力成为各种中小企业的绝佳一站式解决方案。

解决iOS GIT问题

Quienes manejamos GIT,在线阅读和阅读“ enfrentado”,即解决冲突。 Pensémoslo,nuestro proyecto no puede ejecutarse por ellos,veces resultandifícilesde entender,involucra coordinarse con el resto de los desarrolladores para saberquécambios deben conservarse ycaálesno…etc。 Es por ello,que enéste指导我gustaríahablar acerca de lo que儿子,iOS系统的可识别性和解决方案,以及ejemplo的翻译。 AJMSlideAnimator Supongamos estamos trabajando en el proyecto AJMSlideAnimator,un proyecto disponible en Github和los cuales存在2个desarrolladores:CTime95(中央存储库)和TheKairuz(中央存储库)。 故事板中的Ambos desarrolladores se encuentran上的子句AJMSlideAnimatorView和se encuentran ajustando constantemente。 Ajustes TheKairuz […]

WKWebView。 我的经验

从iOS 8开始,我们(iOS开发人员)使用WKWebView替代UIWebView。 即使看起来非常简单(加载HTML并在特殊视图中呈现),webViews在使用它们时也会遇到问题。 在本文中,我想分享一些有关在iOS项目中使用WebView的想法。 问题 乍一看,webView应该不难。 如渲染一些HTML或通过URL加载网页。 但是在iOS中使用WKWebView可能很容易成为一项艰巨的任务。 我试图将我的经验分为四个部分: Cookie管理 终止内容过程 记忆问题 信息清单🙂 饼干 加载页面时,将在webView中加载URLRequest的实例。 WebView通过它的ProcessPool处理它的cookie,您不需要中断它的工作。 要通过WKWebView接收HTTP标头和cookie(cookie是HTTP标头之一),您应该实现WKNavigationDelegate方法 如果您想在特定时间检查webViews cookie,则可以通过Safari Web Inspector(首先在iPhone设置中启用JavaScript调试)进行检查。 HTTPCookieStorage通常与Safari不同步。 如前所述,cookie,缓存和所有此类资源均由webView的WKProcessPool实例处理。 如果您需要在不同的webView之间共享cookie,而不是在其配置中共享相同的进程池。 如果您确实需要注入自己的cookie,则分两个步骤进行。 创建URLRequest实例时,在相应的标题字段中设置Cookie 加载了WKUserScript的页面后,使用javascript“注入”您的cookie 这就是具有这种逻辑的UIViewController的方式 在处理重定向和更改cookie时要小心。 在重定向期间,webView使用其内部cookie状态,而不是您在第一次加载时通过的状态。 例如: 您在URLRequest中设置自定义cookie,然后将其加载到webView中。 WebView接收代码30x(重定向),服务器通过标头设置其cookie。 WebView根据其内部状态构建新的URLRequest。 您的Cookie可能丢失了。 与查尔斯检查 最后,关于cookie,我建议您将cookie逻辑留给webView,如果您需要服务器跟踪应用程序的请求,则可以通过设置自定义用户代理来实现。 通过设置 通过UserDefaults iOS可以确保您每个HTTP请求都具有该用户代理。 终止内容过程 其基础Web内容处理已终止的Web视图。 对您的用户意味着什么? 意思是“死亡白屏”。 您的用户看不到任何内容。 触发“重新加载”方法无效。 WebViews属性URL设置为nil。 您应该跟踪此事件,并尝试恢复您的webView,加载最后一个已知的URL或重新创建webView。 当您使用困难的JS加载页面或上传大量媒体(例如高分辨率图片)时,可能会出现此事件。 记忆问题 WKWebView API并不完美。 如果您使用webView构建复杂的内容,请检查是否存在内存泄漏。 例如,如果要跟踪监听JS代码,则需要将WKScriptMessageHandler添加到WKUserContentController中: 但是内容控制器对他的脚本消息处理程序拥有很强的引用。 […]

移动应用程序后端开发的七个步骤

如果您要为移动应用程序构建后端,则必须采取什么步骤来完成它? 我将通过7个步骤总结后端开发: 确定后端和前端职责 编写初始端点并使其正常工作 设计API并记录下来 设计和实现数据库 编写后端测试脚本 使用编程语言实现API 部署 让我们更详细地完成每个步骤。 确定后端和前端职责 对于某些类型的应用程序,后端只是简单值的数据存储。 但是对于更复杂的应用程序,您可能必须在后端而不是前端执行复杂的任务。 在两种情况下,您将在后端执行复杂的任务: 您的数据需要在服务器上进行验证。 例如,用户试图播放音频文件,但是服务器必须通过检查数据库来检查她是否有权播放文件。 您的数据与系统的其他部分(例如数据库)进行交互。 例如,您的应用程序注册了一个必须更新用户数据库的用户,该用户数据库将向用户发送验证电子邮件,还向系统管理员发送电子邮件。 还有其他原因可能会在后端而不是前端上执行操作。 关键是要在开始之前大致弄清楚这一点。 编写初始端点并使其正常工作 在确定后端的职责之后,是时候启动并运行某些东西了。 您可以与客户端连接的实际服务器端点。 使用向后后端技术来实现这个目标。 这意味着为后端和前端应用程序都编写存根函数。 不是完整的API,而是足够使您拥有最少的工作后端。 设计API并记录下来 第三步是设计您的后端API。 关于设计RESTful API的讨论很多,但我认为您不必遵循本书的RESTful原则。 相反,只需清楚地记录每个后端API端点应该做什么。 对于每个端点,请清楚地记录客户端需要提供哪种类型的值,以及后端将返回哪种类型的值。 指定哪些值是必需的,哪些值是可选的。 例如,假设您有一个get_movies端点,该端点根据日期范围返回电影列表。 如果客户端提供了日期范围,则它将返回在该日期范围内创建的电影。 如果未提供日期范围,则使用从当前日期开始的过去一周。 记录这一事实很重要。 这似乎很简单,但是关键是要对其进行记录并保持 文档更新。 设计和实现数据库 现在,您可以从API文档中了解数据的结构以及如何存储它们。 在大多数情况下,请使用MySQL。 遵循良好的数据规范化原则,但要走得足够远 有意义,仅此而已。 编写后端测试脚本 用bash / curl或Python编写一个快速测试脚本,以验证所有后端端点是否正常运行。 使用编程语言实现API 现在是时候使用编程语言来构建API。 我更喜欢使用Python。 (我将在截屏视频中更详细地介绍) 部署后端 您可以使用诸如AWS之类的云服务来部署后端来托管后端,也可以使用专用主机。 这是一个很大的主题,我一定会在另一篇文章中介绍。 […]

Swift-Objective-C的终结……?

根据某些数据,Apple的策略是通过减少代码来过渡到这种新语言,从而简化开发工作,而最终由“ Swift”这个名字来强调。 尽管如此,Objective-C仍然是一种落后了几年的语言,但是Apple提出了向SWIFT驱动的环境迈进的问题。 根据Apple的说法,学习SWIFT比使用Objective-C更容易。 到今天为止,尚未确认任何消息,Apple还没有强迫开发人员将其代码从Objective-C重写为SWIFT。 苹果公司在开发iOS本机应用程序时仅推荐使用Swift。 正如苹果所说,Swift是“没有C的Object-C”。

构建,测试,交付!使用fastlane和Jenkins完整的iOS持续交付指南

iOS / macOS开发真的很有趣。 您可以在很多领域获得领域知识! 您可能会学习图形技术,例如Bezier或3D变换。 您需要了解如何使用数据库或设计有效的架构。 此外,您应该能够以嵌入式系统的方式管理内存(特别是对于那些处于伟大的MRC时代的人)。 所有这些使iOS / macOS的开发变得如此多样且充满挑战。 在本文中,我们将学习您可能需要了解的另一件事:持续交付(CD) 。 持续交付是一种软件方法,可帮助您随时可靠地发布产品。 CD通常带有术语持续集成(CI) 。 CI也是一种软件工程技术。 这意味着系统一直在不断将开发人员的工作合并到主线中。 CI和CD不仅对大型团队有用,而且对单人团队也有用。 而且,如果您是一个单人团队的唯一开发人员,那么CD对您可能意味着更多,因为每个应用程序开发人员都不可避免地需要交付。 因此,本文将重点介绍如何为您的应用程序构建CD系统。 幸运的是,所有这些技术也可以在CI系统的构建中采用。 假设我们正在开发一个名为Brewer的iOS应用,那么我们的工作流程将非常简单: 首先,我们发展。 然后,质量检查小组会帮助我们手动测试该应用。 质量检查批准测试版本后,我们发布(提交给AppStore进行审查)我们的应用程序。 在不同阶段,我们有不同的环境。 在开发过程中,我们会在临时环境中构建应用程序,以便每天/每晚进行测试。 质量检查小组进行测试时,我们准备了一个基于生产环境构建的应用程序。 这可能是专门针对质量检查团队的每周构建。 最后,我们使用生产环境提交该应用程序。 这样的最终版本可能根本没有预定义的时间表。 让我们更深入地研究交付部分。 您可能会发现我们在构建测试应用程序方面有很多重复的工作。 CD系统可以为您提供帮助。 具体来说,我们的CD系统需要: 在不同的环境(阶段/生产)中构建应用程序。 根据我们选择的环境对代码进行签名。 导出应用程序并将其发送到分发平台(例如Crashlytics和TestFlight)。 根据特定的时间表构建应用。 大纲 这是我们在本文中要做的: 设置项目 :如何设置项目以支持不同环境之间的切换。 手动签名代码 :如何手动处理证书和配置文件。 独立环境 :如何使用Bundler隔离系统环境。 使用fastlane进行构建🚀 :如何使用fastlane生成和导出应用程序。 Jenkins将是您今晚的服务器 :Jenkins如何帮助您安排任务。 在开始之前,您可能需要检查一下: 什么是快车道 詹金斯是什么 什么是代码签名 […]

用于更改主题的手势识别器

首先,我们必须创建自定义UIGestureRecognizer 。 我们必须认识到两个手指的移动。 在我们的识别器中,我们必须添加在触摸开始时执行的功能。 这确实是简单的功能。 现在,我们必须实现在用户移动手指时执行的功能。 在该功能中,我们将有关触摸的信息添加到两个集合中(仅当用户用两根手指触摸屏幕时)。 我们必须实现的下一个功能是当用户完成触摸时触发的功能。 在该函数中,我们必须检查用户是否做了我们期望的操作。 如您所见,这里有两个函数: twoFingersMoveUp和twoFingersMoveDown 。 在这些功能中,我们正在验证两只手指的移动,如果我们识别出移动,则以state: ended完成手势识别器。 如果我们不认识移动,则必须以state: failed 。 我验证运动的函数确实很简单(也许有点简单:-)。 我们必须实现的最后一个功能是reset功能。 该功能在用户触摸之间触发。 我们必须清理在用户触摸过程中收集的所有东西。 现在,手势识别器中已包含所有内容。 我们可以将手势识别器与控制器连接起来。 为此,我们必须在viewDidLoad函数中添加以下代码: 现在,当触摸结束时,我们的手势识别器将触发功能twoFingersGestureRecognizer 。 在该功能中,我们可以做任何我们想做的事情。 在我的情况下,我将更改主题(当用户向上移动手指时变亮或当用户向下移动手指时变暗)。 我们还有另一件事要做。 不幸的是,现在我们的手势识别器消耗了所有用户手势,因此,例如表格视图将不会对用户触摸做出反应。 这就是为什么我们必须在控制器UIGestureRecognizerDelegate添加并实现一个功能(幸运的是最后一个功能)的原因: 当然,如果要使所有屏幕具有相同的行为,则必须将该代码放在一个公共控制器中。 您可以在我的GitHub上的iOS项目中查看一下。 姆恰楚斯基/ vcoin 通过在GitHub上创建一个帐户为vcoin开发做出贡献。 github.com