应用内评论和回应-最后!

我们已经等了3年了:现在,您可以对AppStore的评论做出回应-这是关闭产品改进反馈循环的关键一步。 您可能还记得我们之前曾想出过各种技巧来找到留下负面评论来调查此问题的用户。 不再需要这些技巧了! 10.3的另一个新增功能是StoreKit控制器的更新,该更新使用户可以在不离开应用程序的情况下为您的应用程序评分-这将大大增加评论数量! 谢谢苹果!

使用核心数据探索6年后的领域

2)在步骤1中为模型创建一个实体(半—可选) 3)创建一个持久性存储容器 4)当通知进入后台线程时,创建后台托管对象上下文。 5)分配合并策略 6)创建我们实体的新实例。 7)为新实例分配更新中的属性 8)保存实体 使用领域 这是在Realm中完成此任务所需的步骤 建立模型 2)当通知进入后台线程时,创建一个新的Realm。 3)创建一个新的对象实例。 4)为新实例分配更新中的属性。 5)保存对象。 任务:查询数据以获取特定记录 除了添加和更新数据外,我们还需要查询数据。 让我们看看这里的差异。 核心数据 领域 任务:在数据中查询包含子字符串的记录 让我们扩大查询范围以搜索子字符串。 核心数据 领域 我的印象 与Realm相比,Core Data设置过程耗时更长,工作量几乎翻了一番。 我在此处显示的核心数据代码相当新,仅在iOS 10及更高版本中可用。 在过去的几年中,此设置中涉及的代码将增加3–5倍。 即使在最近几年对Core Data进行了所有改进之后,Realm的设置也更简单,Realm的代码也更易于阅读。 为了简短起见,我不处理Realm错误,而是将Core Data封装在do-catch块中,以防万一。 事实是,我比Realm更害怕Core Data爆炸,但是错误也应该在Realm中处理。 其他的东西 谢谢阅读。 这是对我在博客文章“仅使用贴纸中的MacBook Pro付费”中使用的某些框架的扩展讨论。 说到这,我仍在努力购买MacBook Pro,因此,如果您想在这方面为我提供支持,则可以通过以下方式提供帮助: 1)购买邮票包。 我保证它很棒,使用它会给您带来很多乐趣。 2)分享这篇文章。 3)善良的随机行为。 我更喜欢前两个,但是如果您愿意,可以随时通过PayPal捐款。

iPhone应用程序开发服务提供商公司

构建性能丰富且可扩展的iPhone应用程序 我们构建了下一代本机和跨平台的iPhone应用程序,这些应用程序讲述了客户的声誉,概念并有助于通过移动平台获利。 性能 尽管图像,效果,视频和其他重磅媒体数量众多,但通过优化开发可确保iPhone应用程序具有更高的性能。 无错误 为了制作无错误的应用程序,我们通过回归手动和自动测试来运行它,以使其在所有设备,屏幕分辨率,蜂窝网络,网络,Wi-Fi等上流畅运行。 可扩展性 我们确保开发具有能够处理流量和负载以优化性能和增强用户可持续性的架构的iPhone应用程序。 Mobiloitte在服务IT行业方面拥有十多年的经验,自成立以来就开始为全球客户开发iPhone应用程序。 我们构建的iPhone应用程序可与外部硬件设备进行交互,控制iPhone内部硬件,利用最新的iOS功能,雕刻精美的UI / UX,第三方API,云数据同步,离线模式和其他自定义要求。 在Mobiloitte,我们将每个项目及其功能作为挑战,并尽力提供最好的解决方案。 我们的团队喜欢开发开箱即用的应用程序,从而为行业带来竞争优势。 Mobiloitte经验: 增强现实 基于GPS的实时数据同步 外部硬件集成 移动商务和企业应用 3D / 2D游戏 基于电话簿的应用 条形码阅读器/ QR码阅读器 基于位置和导航 安全交易 照片共享和编辑 基于日历和事件 音频和视频流 社交网络整合 技术专长: Xcode IDE 目标C 可可粉 迅速 iPhone SDK 界面构建器 第三方API 在1300多个项目中,有1024个以上的客户对移动和Web开发进行了评分(满分5分)。

将通知分为中断,提醒和积压

我进行了超过一年的实验。 我将所有iOS设备都设置为永久“请勿打扰”模式。 这是一次很棒的经历,但是我觉得我应该让少量的推送通知通过。 我设置永久“请勿打扰”的初衷是为了避免在1:1时分心。 我可以看到其他人在1:1时如何看他们的手机。 有时是推送通知。 有时他们只是不注意我。 我想避免这样做,所以我将iPhone置于DND模式。 我的Apple Watch可以镜像,因此也没有发出声音或振动。 我使用永久性DND的经验很好。 当手机震动时,我再也不会无意识地看着手机了。 我不需要收起电话,因为它的运行方式是直到我主动查看之前,它从未收到过这些推送通知。 有一个小问题:有时我错过了那些非常重要的推送通知,然后错过了会议或对时间敏感的消息。 因为我对几乎所有通知的静音感到非常满意,所以我不想更改它。 我只想要一个小补丁就能让其中的一些通过。 这促使我思考理想的推送通知模型是什么。 我的结论是,推送通知应分为3类: 中断 :中断应该中断我正在进行的任何事务,并让我立即处理它。 这应该是非常罕见的,当它发生时我不要错过。 提醒 :理想的提醒应该使我联想起处于完美环境中的事物,通常意味着正确的时间(在交易之间)和正确的位置。 待办事项 :这就像一封电子邮件在我的Gmail中未打开多年。 如果我想看看,我可以。 否则,不要来找我。 不应积压积压。 它应该被拉。 这些是理想的类别,但是iOS不允许这样的精确设置。 我必须进行一些调整,使其在iOS中实现。 存在以下约束: 首先,iOS推送通知设置基于每个应用程序。 由于大多数应用程序都没有在推送通知控件上提供更精细的粒度,因此这意味着我必须为应用程序分配类别。 如果我将中断类别分配给某个应用程序,则该应用程序发出的所有推送通知都是一个中断。 其次,仅内置应用程序具有针对iOS和watchOS的复杂通知设置。 对于大多数应用程序,只有一种声音设置。 它是打开还是关闭。 振动与声音相关联,并且它们一起切换。 Apple Watch还有一个拨动开关。 全部或全无。 这意味着,如果iPhone启用了声音和振动功能,Apple Watch也启用了声音和振动功能。 还有一件事。 因为现有技术无法在完美的环境中提醒我,所以我必须允许应用程序在方便时提醒我,并使用贪睡功能让它等待完美的环境。 基于这些限制,这是我的设置: 中断 :中断类别中的应用可以使用声音/振动。 他们可以在Apple Watch上显示通知。 我在此类别中有某些消息收发应用程序。 它们不是我的主要消息收发应用程序。 提醒 :提醒类别中的应用程序也可以使用声音/振动。 […]

必须具备iOS应用开发人员的技能

如果您有一个绝妙的想法想通过应用程序获利,则必须寻找熟练的开发人员。 对应用程序进行基本的市场研究可能会帮助您决定最初为iOS平台开发应用程序,或者您必须考虑跨平台发布应用程序。 iOS是发布iPad或iPhone应用程序的有利可图的平台。 在为应用程序开发选择iOS应用程序开发人员之前,必须注意这些必须具备开发人员技能的人。 iOS App开发人员技能 迅速 Swift是Apple专门为开发其应用程序而创建的编程语言。 iOS应用程序开发人员必须具有Swift的工作知识,并且应该已经使用该语言开发了某些iOS应用程序。 UX / UI设计技巧 iOS应用开发人员必须具备良好的用户体验和用户界面设计技能。 开发人员必须能够以3维的方式思考并可视化对象之间的空间关系。 开发人员必须能够理解用户如何与界面中的各种元素进行交互。 跨平台 iOS应用程序开发人员不仅应该精通iOS平台开发,还应该能够为Android编码,并且您可能希望在不久的将来为其他平台发布您的应用程序。 与iOS设备相比,市场上有更多的Android设备。 拥有开发跨平台经验的iOS应用程序开发人员将帮助您将来扩展。 敏捷方法论经验 iOS开发人员必须具有与跨职能和自组织团队合作的协作环境的经验。 拥有敏捷方法论的iOS应用程序开发人员将能够按照要求开发应用程序,同时遵守截止日期。 Git和Github 团队合作时,iOS开发人员必须精通版本控制的使用。 这使开发人员可以在分布式版本控制系统上进行协作。 Github是源代码存储库,可帮助每个项目进行错误跟踪,功能请求和任务管理。 计算机科学学位或同等学历 虽然不是强制要求iOS开发人员具有计算机科学教育背景,但相关学位可以帮助他们更好地了解技术。 具有认证的开发人员将更好地掌握编码基础。 摘要 上面提到的基本标准将帮助您缩小范围,以适合您公司的iOS应用开发要求。 您可能还喜欢阅读:选择移动应用开发公司的清单

客户通过iOS订阅看到的内容

自动续订会发生什么? 在沙盒中测试是一回事,但我也想知道现实生活中发送了哪些屏幕和电子邮件。 我为Netflix订阅了我的应用程序Remote! 查看。 它按月订阅,试用期为7天。 单击订阅后的第一个屏幕 2.密码检查 3.密码正确后 iOS在此处提供警报。 我背后有一个“谢谢”页面。 4.第一封电子邮件 几乎立即以下电子邮件到达 在我的Mac上单击“查看您的订阅”,将打开包含以下内容的iTunes 单击我的iPad上的相同链接将打开应用商店,并(缓慢地)显示以下内容 5.免费试用期结束后 这里要注意两件事: 答:这是续订后发送的。 尽管您可以在付款后报告问题,但是付款已经发生。 B)没有明显的“取消我的订阅”按钮 单击“报告问题”会将您带到https://reportaproblem.apple.com 在此处登录后,您将获得一个界面,可用于报告问题。 大概这里的任何报告都会为您退款和取消。 实际上,这里没有用于“请立即取消我的订阅”的按钮 单击电子邮件中的“访问Apple支持”链接,您将看到以下内容 点击“管理您的订阅”会打开一个支持页面,其中包含有关如何在不同设备上取消的完整说明 查看,更改或取消您的订阅 了解如何查看有效的,到期的和最近结束的订阅,以及如何取消订阅和成员资格。 一些… support.apple.com 页面顶部显示以下内容 如果向下滚动,则会显示每个设备的取消选项。 如果单击“管理您的订阅”,它将在“订阅”页面中打开iTunes应用程序 有趣的是,它列出了您尝试过的所有订阅。 hayu订阅是我尝试订阅时尝试的一种,即使我在免费试用期结束之前就取消了,它也会列出。 单击此处的“编辑”将带您进入“编辑订阅”页面。 所以。 如果您在Mac上获得发票,然后单击正确的链接,则可以在iTunes应用程序中出现两个网页和两个页面之后取消订阅。 6.然后每个月…… 一个多月后,我收到了另一封与以前的发票几乎相同的发票电子邮件(仅更改了日期编号) 有趣的是,尽管我的第一张发票是在10月23日,但是第二张是12月3日。 我的假设是,苹果在任何付款到期后会等待一段时间,希望我会购买其他东西,他们可以一次性处理多次付款以节省交易成本。

Xcode:应用程序图标怎么了?

在Xcode中创建图像集时,很容易为每个比例因子自动填充孔。 您只需要为三个比例因子图像文件提供正确的语法即可,例如: image.png image_2x.png image_3x.png 拖入它们,Xcode会自动为每张图像检测正确的孔,然后tada! 因此,您认为在资产目录中设置应用程序图标同样容易。 那里有一些自动化,但是很奇怪,这有点麻烦。 让我们看一下我们可以做些什么。 生成应用程序图标文件 首先,如何设置所有这些版本的应用程序图标? 简单! Apple在HIG的资源部分中提供了Photoshop(或Sketch或Adobe XD)模板,用于设置图标,看起来像: 设置图标后,可以指定“文件”>“生成”>“图像资产”: 这将输出创建应用程序图标所需的所有文件: 将图标添加到资产目录 但是,正如我们所看到的,当您将这些图标拖到您的应用程序图标中时: 只有一些孔填充,其他孔保持空白,而某些文件被视为未分配: 您的第一个问题可能是: 我的猜测是这是Xcode中的错误。 如果有人对此有更多信息,请随时在此处添加评论。 但是也许一个更相关的问题是…… 怎么办呢? 手动修复 因此,一种解决方案当然是手动解决此问题。 我们可以将文件一一拖到正确的孔中。 无聊! 我们要自动化! 修复自动化 因此,如果右键单击资产目录中的应用程序图标,然后选择“在Finder中显示”: 在这里,您将找到项目内的所有图标文件,以及一个“ Contents.json”文件: 这就是魔术的住所! Contents.json是资产目录用来描述其资产(或文件夹,元数据等)的文件。如果打开AppIcon的Contents.json文件,您会发现它描述了所有应用程序图标文件,空白孔和未分配的图像,如下所示: 我们需要的所有文件都在Asset Catalog的App Icon文件夹中,我们只需要在Contents.json文件中正确分配它们即可。 如果我们使用了Photoshop模板,则我们的文件每次都将具有相同的名称,因此我们可以简单地将Contents.json替换为标准的Contents.json文件,该文件已设置了正确的文件描述以及所有内容应该会自动掉入正确的井中! 因此,作为回顾,以下是从Photoshop生成图标文件后要遵循的步骤: 选择所有生成的文件( Icon-App-60×60@1x.png 除外 ,该文件不再包含在应用程序图标包中),然后将它们照常拖到Assets Catalog中的“应用程序图标”中在Xcode中。 右键单击“应用程序图标”,然后选择“在Finder中显示” 。 在这里,您将找到Contents.json文件。 用更正的Contents.json文件替换此Contents.json文件。 (您可以在这里找到此文件的要点。) 多田! 有一个应用程序! 或者,您可以尝试第三方解决方案。 但是请注意,有很多(甚至是付费的Mac程序)仅为您创建文件(正是Photoshop模板为您提供的功能),而没有帮助您将这些文件集成到Xcode中。 Icon […]

使用Lob.com集成从FileMaker发送真实的打印邮件

埃贡·斯宾格勒(Egon Spengler)博士在1984年的热门喜剧《捉鬼敢死队》中宣布印刷品已去世,但他可能还为时过早。 我们不像以前那样经常发送“蜗牛邮件”信件和明信片,但是对于一些人来说,无纸化办公室仍然是科幻小说。 接收物理邮件是一件新颖的事,可以使您(或您的客户)感到特别。 但是用真实的纸张进行真实的邮件发送非常耗时。 如果您可以让其他人来照顾所有这些,那不是很好吗? 当然有在线打印服务,但是如果您只想发送一种,该怎么办? 还是少数? 还是数千? 全部由您的数据驱动? 这就是Lob填补的利基市场。 Lob是一项服务,可让您发送信件,明信片甚至支票。 他们负责打印和邮寄。 他们还提供地址验证。 这都是带有API(应用程序编程接口)的Web服务,这意味着您几乎可以从任何程序连接和使用该服务。 当然,这包括我们最喜欢的快速应用程序开发平台:FileMaker Pro。 因此,为了进行测试,我们将演示文件放在一起。 下载演示文件: FileMaker Lob Integration 该文件是打开和未锁定的,因此您可以将其拆开并扩展以适合您的需要。 它已使用Lob.com的测试API密钥填充,因此您可以免费测试该服务。 您可以注册自己的免费测试API密钥,或者前进并授权实时API开始发送真实邮件。 该演示确实需要Goya提供的免费BaseElements插件。 如果尚未安装,脚本将提示您安装版本3.3.1(在发布时为最新版本)。 在此演示中,我们使用的是Lob明信片API。 提交成功的测试后,您会在Lob.com上看到明信片的PDF预览。 如果您将必填字段留空,该脚本将阻止您,但是它不会检查图像是否满足Lob的要求。 提供指向Lob图像准备指南的链接。 Lob入门 如果要创建自己的帐户,只需访问Lob.com,然后单击立即尝试按钮即可注册。 注册免费帐户后,您可以从设置面板访问API密钥。 您将要熟悉Lob API文档和所有可用选项。 对于演示文件,我们仅使用明信片创建部分。 该脚本收集地址数据和图像文件路径(导出到临时存储),并将它们放到一个参数字符串中以发送到明信片API。 我们正在使用BE_HTTP_POST函数来调用API,然后使用BE_JSONPath从明信片API返回的响应中获取预览URL。 您可以轻松地使用相同的技术将地址发送到Lob的地址验证API,并解析JSON响应以更新您的地址字段。 该演示仅处理简单的一次性明信片,但您也可以对其进行修改以跟踪个性化邮件的活动。 玩得开心! 规避技术社会规范,成为时髦人士,并发送定制的手工纸质邮件。 如果您觉得该演示有用,请给我们发送明信片! 或者您可以在评论中让我们知道。 那也行。

笨拙的UI是一个好的UI:在iOS中使用Swift的MVP

由Mohamed Iyad Tamer Agha撰写 在开发iOS应用程序时,Model-View-Controller是一种常见的设计模式。 通常,视图层由以编程方式定义或在xib文件中定义的UIKit元素组成,模型层包含应用程序的业务逻辑,而由UIViewController类表示的控制器层则是模型和视图之间的粘合剂。 这种模式的一个很好的部分是将业务逻辑和业务规则封装在模型层中。但是,UIViewController仍然包含与UI相关的逻辑,这意味着: 调用业务逻辑并将结果绑定到视图 管理视图元素 将来自模型层的数据转换为UI友好格式 导航逻辑 管理UI状态 和更多 … 承担所有这些责任,ViewController经常变得庞大,并且难以维护和测试。 因此,现在该考虑改进MVC来解决这些问题了。 我们将此改进称为模型视图演示者MVP。 MVP模式是由Mike Potel于1996年首次提出的,多年来讨论了多次。 Martin Fowler在他的GUI体系结构文章中讨论了这种模式,并将其与其他用于管理UI代码的模式进行了比较。 MVP有很多变体,但它们之间的差异很小。 在这篇文章中,我选择了似乎在当今的应用程序开发中最常用的通用示例。 此变体的特征是: MVP的视图部分同时包含UIViews和UIViewController 该视图将用户交互委托给演示者 演示者包含处理用户交互的逻辑 演示者与模型层进行通信,将数据转换为UI友好格式,并更新视图 演示者不依赖于UIKit 视图是被动的(转储) 以下示例将向您展示如何实际使用MVP。 我们的示例是一个非常简单的应用程序,它显示了一个简单的用户列表。 您可以从此处获取完整的源代码:https://github.com/iyadagha/iOS-mvp-sample。 让我们从一个简单的用户数据模型开始: [js] struct用户{ 让firstName:字符串 让lastName:字符串 让电子邮件:字符串 年龄:整数 } [/ js] 然后,我们实现一个简单的UserService,它异步返回用户列表: [js] 类UserService { //服务延迟交付模拟数据 func getUsers(callBack:([[User])-> Void){ let users = [User(firstName:“ […]

如何通过无广告版本获利您的iOS应用

现在,大多数免费应用都可以通过向用户投放全面投放的广告来获利。 尽管大多数用户都无法识别横幅广告,但一些用户仍愿意向应用开发者付款以删除这些广告。 删除广告-用户的价值是什么? 用户为什么要删除广告有多种原因,但我发现以下是最常见的原因: 更大的数据空间-最常见的横幅广告位于屏幕底部或顶部的固定位置,为用户节省了宝贵的空间。 速度-用户正在寻找更快的体验,没有比看到全屏插页式广告更令人烦恼的了。 定价-我应该向用户收取多少费用以删除广告? 如果您要投放广告,则需要通过向普通用户展示广告来知道您从普通用户那里获得了多少收入,这就是您的LTV(生命周期价值)。 您应始终收取比应用程序用户LTV更高的费用。 还有多少? 这取决于您的利基和行业。 例如,对于游戏,通常收取2-4美元的费用,但对于商务或新闻应用程序,您最多可以收取30美元的费用。 在iTunes上设置要出售的产品 选择产品 Apple提供了几种销售产品的选项 我们发现非消耗性产品选项最适合删除广告,原因如下: 用户可以购买一次-无需管理订阅(用户和我们的客户服务都很费时) 始终显示在收据中-如有问题,我们始终可以检索购买数据 系统跨设备进行了同步-Apple方面非常谨慎 由系统还原-苹果方面已将其照顾 添加产品 在您的应用程序的iTunes帐户上,访问“活动”屏幕 点击“ +”添加新产品 选择您要设置的产品-我们选择了非消耗品 选择产品ID,价格,语言等… 提交产品以供审核 结束语 我们介绍了为用户提供在您的应用上删除广告时应考虑的主要注意事项,并提供了有关如何设置要在iTunes控制台上出售的产品的简短指南。 当然,还有很多工作要做,例如设计UI并编写背后的代码。 在下一篇文章中,我将介绍如何通过应用内营销来增加您的销售量。 在此期间,欢迎您问我任何问题或反馈