零件中的核心数据优化— 1

大多数时候,我们的应用程序都具有数据存储功能,例如缓存,提供脱机支持或提高应用程序性能等目的。 在本系列文章中,我们将探索一些设计技巧,并为提高iOS应用程序上的Core Data性能奠定基础。 这会导致iPad App的fps下降。 它不仅降低了fps速度,而且使我们的应用程序反复缓慢。 滚动tableview / collection视图确实很痛苦,因为App暂时停止了。 如果不运行Core Data工具,我将不会发现此问题。 规则1:测量,测量和测量 如果进行测量,您会发现板子前面有问题。 那么为什么不先这样做呢? 进行一些操作通常会导致我获取大量数据,因为我对记录中的每个项目都进行了重复的访存调用。 由于每个记录都可以使用其ID进行标识 您可以告诉CD根据ID一次获取所有记录。 编号:[Int] 让fetchRequest = NSFetchRequest (entityName:“ MyEntity”) fetchRequest.predicate = NSPredicate(格式:“ id IN%@”,id) 虽然它减少了我的提取次数,但仍然没有帮助我减少保存 算是因为我在做这样的傻事: 下载的记录中的ID { //在此更改托管对象的上下文并将其保存在context.perform { 做{ 尝试context.save() }将let错误捕获为NSError { fatalError(“错误:\(error.localizedDescription)”) } } } 由于Core Data将获取的对象保留在上下文中(在内存中),因此您可以修改存在于上下文中的获取的对象。 除非您清除上下文,否则上下文会保留MO的更改。 所以现在我们的代码看起来像: 下载的记录中的ID { //在此处更改托管对象的上下文。 updateEntity() //变更将在上下文中存在 } //现在保存上下文。 这会将更改从上下文推送到存储。 context.perform […]

iOS开发制作框架简介

框架对于iOS开发非常重要。 通过使用框架,一个关键问题很容易解决。 所有这些框架都是由Apple构建的。 这些框架可供开发人员使用,因此,我们可以利用使iOS应用程序成功的技术。 构架 框架是一组独立且可重用的代码,它们被用作软件的构建块。 框架最好的理由是它们只能被构建一次,并且可以无限次地被重用。 有不同类型的框架。 例如UIKit,Repro,Fabric等。 框架步骤 从Xcode创建新项目,转到File> New> Project 2.选择ios,然后选择Cocoa Touch Framework>下一步 3.提供框架名称和其他信息,然后单击下一步按钮 4.最后保存,您要保存的位置 与主项目连接 创建您自己的项目。 要从框架获取帮助,需要将框架与项目连接。 然后,为了从项目中使用此框架,您需要导入项目代码。 框架结构 例如,名为TestFram的框架。 因此,在此TestFram Framework中,添加名为RandomColor的类。 在RandomColor.h文件中添加公共方法 (UIColor *)useRandomColor; 在randomColor.h文件中需要useRandomColor方法来实现。 这里使用红色,绿色,蓝色中的随机数来改变颜色。 (UIColor *)useRandomColor { 返回[UIColor colorWithRed:redColor green:greenColor blue:blueColor alpha:1]; } 这里redColor是红色的float随机数。 这里greenColor是绿色的float随机数。 这里blueColor是蓝色的float随机数。 主要项目结构 在主项目中,我们需要连接Framework。 像这样导入 #import 例如,在主项目中,添加了使用此框架的按钮。 还添加了UIView,用于更改其背景色的颜色。 像这样的按钮动作代码, (无效)changeColor { self.changeColorView.backgroundColor = [RandomColor […]

使用Travis CI连续部署iOS

在Telestax,我们相信持续集成与部署是我们生产的所有软件的组成部分。 随着我们的移动开源WebRTC SDK变得更加成熟,我们开始意识到,越来越多的时间花在了测试和部署的手动步骤上,而不是实际的开发上,现在是时候该死了,并引入CI / CD设施。 在本期中,我们将介绍如何使用Travis CI解决Restcomm Olympus应用程序的持续部署问题,该应用程序是我们在GitHub上托管的开源WebRTC Restcomm iOS SDK的一部分。 更具体地说,我们将: 构建并导出已签名的restcomm-olympus.ipa,并准备进行企业部署。 将restcomm-olympus.ipa上传到TestFairy Beta测试平台,以便我们的Beta测试人员和社区可以立即使用。 这说起来容易做起来难,所以让我们深入了解一下细节。 iOS签名简介 为了能够部署到任何物理设备,而不必每次我们要在新设备上进行测试时都必须更新配置文件,我们将使用企业分发。 这样就可以在Apple App Store外部自由分发App。 要构建以这种方式可分发的.ipa,构建过程分为两个步骤: 生成存档的存档构建步骤。 为此,您需要在CI服务器中安装“开发身份和开发配置文件” 导出步骤,用于对存档进行签名并生成可用于实际分发的.ipa。 为此,您需要在CI服务器中安装分发标识和分发配置文件 但首先.. 关于自动签名 从Xcode 8开始,随着自动签名的引入,很多地方在Signing区域中进行了更改,从而解决了过去的许多问题-请记住,如果以前使用的生成脚本可能会向后兼容,可以与Xcode 7一起使用。有关更多信息,我敦促查看有关该主题的Apple最新的WWDC会议。 另外,对于更技术性的方法,这是一个很好的阅读材料,它首先概述了Apple的代码签名机制,然后描述了Xcode 8中的更改。 我们将使用自动签名,我敦促您也这样做,因此,如果您还没有这样做,现在是升级到Xcode 8的好时机。对于新的Xcode 8项目,默认为自动签名,并且要求您执行以下操作。在创建项目时选择您的团队ID ,并自动为您设置签名身份和配置文件。 您可以在会员中心的“ Apple帐户会员”页面中找到您的团队ID: 如果您已经使用早期版本的Xcode创建了应用程序,则应导航至主要目标的“常规设置”,然后勾选“ 自动管理签名”: 再次,您将被要求输入团队ID,所有内容应自动为您处理。 在这一点上,需要指出的是, Apple并不真正支持在您无法访问UI和Xcode IDE的无头机器上进行构建 ,例如Travis CI的情况(不幸的是,这是我们从Apple那里得到的回应当我们针对某些问题提出技术支持事件时,我们就遇到了麻烦。 主要问题如下: 无法提供自动解决方案来解决有关身份和配置文件的问题(即只能从Xcode IDE中获得解决方案)。 您无法解决UI中显示的任何安全提示,例如在codesign步骤中授予访问权限。 但是不要害怕! 如果您确保在构建之前已安装了正确的身份和配置文件,并且已在脚本中采取了一些其他步骤来授权codesign在没有这些UI提示的情况下工作,那么一切都会正常进行。 我们将稍等一下。 请记住,这里的总体思路是,您首先必须在本地OS […]

当您需要挽救旧照片并进行数字化处理时,“不褪色”应用程序会很方便。

迈尔斯·艾伦·普鲁特(Miles Allen Pruitt) 当您需要抢救旧照片并使用“ Unfade”应用程序时,它非常方便。 如果您想在鞋盒中保存丢失了很久的模拟照片,或者只是想释放那杂乱的阁楼中的空间,则应进入应用商店,然后将Unfade应用纳入您的应用收藏中! Christoph Wagner从头开始构建了他的应用程序Unfade。 德国公司Unfade于2016年5月24日成立,专门研究数字化旧照片并改善整体视觉质量。 该初创公司的想法源自Wagner在计算机视觉方面的深厚专业知识。 这使Wagner可以创建第一个计算机视觉空间应用程序Scanbot,该应用程序目前在全球范围内有超过400万次下载。 随着Wagner过渡到创建自己的应用程序,他遇到了许多独特的挑战。 最大的障碍之一是App Store并非为“早期且经常修复”开发而设计,这是指App Store无法立即正确显示修复程序。 平均而言,修复需要一天的时间才能生效。 但是,尽管存在这些早期问题,但该应用程序易于使用,并且与其他应用程序相比价格合理。 有趣的是,目前已获资助的该应用程序将Swift中的书面代码集成在一起,除了边缘检测中的代码(边缘检测中的代码已集成在Objective C中以与OpenCV一起使用)。 虽然非常成功,但Unfade面临着Photomyne的竞争,Photomyne是另一个可提高旧模拟照片质量的应用程序。 随着用户继续更新其移动设备和计算机,应用程序对能够在2000或更旧版本的旧设备上更新旧模拟照片的需求将继续增长。 随着Unfade的发展,将会有更多的用户,更多的创业公司将开始萌芽。 这一切都来自克里斯托夫·瓦格纳(Christoph Wagner)的愿景,他实现了梦想并将其变为现实。 Unfade的持续愿景和增长是基于用户反馈并添加其他功能的快速迭代。 此外,即使用户不愿付费,也可能会有付费应用的未来计划,但是Unfade应用的好处将促使消费者将钱投资到该应用中。 不褪色是未来工作的出发点,您应该一臂之力。 您可以在这里查看Wagner的愿景: www.unfade.io 或 在此处下载应用程序: https : //itunes.apple.com/app/id1096568238 分类:家庭应用

被苹果公司推荐的价值可能比您想象的要大得多

午后喝着咖啡,我低头看着手机与我的团队在Slack上办理登机手续,并收到了比我数不胜数的更多通知。 世上发生的一切,我坐在客厅里大声说着,我确信自己的表情看起来像是茫然的凝视。 收集想法后,我在手机上打开了App Store,以查看bnotes是否出现在某处。 这是我唯一想到的发送大量下载信息的地方。我以前来过这里…… 不是在同一个座位上,而是在这个位置上使用了Apple精选的应用。 令我惊讶的是,在浏览类别页面,主页甚至进行Google搜索后,我什么都没发现,但没有发现任何功能。 可以想象,我有点困惑。 我无法回答这个问题,这是怎么回事? 我放下电话,深吸一口气,静静地坐在那儿几分钟,沉浸其中。 然后,ping通过 “嗨,尼克, 祝贺您在“我们喜欢的新应用程序”中获得推荐。我正在努力介绍自己,将其作为Apple的资源…” 啊,我们有特色。 我请苹果代表米奇(Mitch)发送屏幕截图。 当时我得出的结论是,我看不到该功能,因为该应用程序已经在我的设备上了,这很有意义。 数字显示“我们喜欢的新应用” App Store流量| 340万次展示(显示在用户供稿中) App Store流量| 4.62K下载(用户下载的应用) 9/4 | 503 | 516K次展示| .09%转换率 9/5 | 1,410 | 140万印象| .1%转换率 9/6 | 1,020 | 985K次展示| .1%转换率 9/7 | 601 | 197K次展示| .3%的转换率 9/8 | 368 | 207K印象| 0.17%的转换率 9/9 | […]

将应用程序发布到App Store时的常见应用程序拒绝。

在开发应用程序之前,重要的是要熟悉我们用来审查所有应用程序的技术,内容和设计标准。 我们重点介绍了一些最常见的问题,这些问题会导致应用被拒绝,以帮助您在提交应用进行审核之前更好地准备应用。 崩溃和错误 您应仅在应用程序完成并准备发布时才将其提交以供审核。 在提交之前,请确保在设备上彻底测试您的应用并修复所有错误。 链接断开 您应用中的所有链接都必须正常运行。 所有应用都需要具有最新联系信息的用户支持链接,并且如果您要提供自动续订或免费订阅,或者您的应用属于“儿童”类别,则还必须提供指向隐私权政策的链接。 占位符内容 完成应用中的所有图像和文本后,再将其发送以供审核。 尚在进行中且包含占位符内容的应用尚未准备好分发,因此无法被批准。 信息不完整 在iTunes Connect的“应用程序查看信息”部分中输入查看您的应用程序所需的所有详细信息。 如果某些功能需要登录,请提供有效的演示帐户用户名和密码。 如果要设置特殊配置,请提供详细信息。 如果功能需要很难复制的环境或需要特定的硬件,请准备提供演示视频或硬件。 另外,请确保您的联系信息是完整且最新的。 说明不正确 您的应用说明和屏幕截图应清晰,准确地传达您的应用功能。 这可以帮助用户了解您的应用,并为App Store带来良好的体验。 误导用户 您的应用必须具有广告宣传的效果,并且不应给用户以印象,该应用并非如此。 如果您的应用似乎承诺某些功能,则需要交付。 不合格的用户界面 苹果公司在干净,精致和用户友好的界面上高度重视。 请仔细规划设计并遵循我们的设计指南以及UI设计的“注意事项”,以确保您的UI满足这些要求。 广告 将应用提交审核时,系统会询问您是否使用广告标识符(IDFA)投放广告。 如果您指示您的应用使用IDFA,但没有广告功能或无法正确显示广告,则您的应用可能会被拒绝。 确保在iOS设备上测试您的应用,以验证广告能否正常运行。 同样,如果您指示您的应用程序未使用IDFA,但使用了IDFA,则您的应用程序将进入“无效二进制”状态。 Web剪辑,内容聚合器或链接集合 您的应用程序应引人入胜且有用,并充分利用iOS独有的功能。 在iOS应用中提供服务的网站,未针对iOS格式化的Web内容以及有限的Web交互都不能构成高质量的应用。 重复提交类似应用 提交本质上相同的多个应用程序会阻塞“应用程序审查”流程,并有被拒绝的风险。 通过将您的应用合为一体,改善您的评论体验以及未来用户的体验。 持久价值不足 如果您的应用程序没有提供太多功能或内容,或者仅适用于小型利基市场,则可能无法获得批准。 在创建您的应用程序之前,请在App Store上查看类别中的应用程序,并考虑如何提供更好的用户体验。 参考和更多详细信息在这里:苹果

AppStore收入2017年2月

好的,二月份的数字在里面,所以让我们讨论一下。 正如我在上一篇帖子中所解释的,2月份是我将应用程序价格从3.99欧元提高到4.99欧元的月份。 现在,对于许多开发人员而言,AppStore的销售一直呈下降趋势。 一些博客文章令人沮丧,而金矿似乎越来越远。 尽管如此,我还是决定提高价格而不是参加最低竞争,这有两个原因。 首先,我碰到了一个类似的竞争应用程序,该应用程序可以免费开始使用,但随后每年需要以7.99欧元的价格购买才能继续使用。 我认为这是一个不错的价格,但我不知道开发商以这些价格能赚多少钱。 我从未在总收入排名前20的应用程序中看到过该应用程序,因此我的猜测并不多 。 尽管如此,每年的7.99欧元与一次性3.99欧元的价格相比还是相差很大,因此我决定将这一差距缩小一些。 第二个原因是,以纸质地图形式购买网络仍然昂贵得多。 比利时的网络覆盖5个省,覆盖一个省大约需要5张地图。 请记住,随着网络的变化,用户将需要购买新地图。 一张地图大约是€5.99,因此您可以进行数学计算。 与纸面价格相比,我的应用程序应该接近20欧元,但这也许有点过于乐观。 提价的另一个原因是一些AppStore心理。 那里有很多免费应用程序和99美分应用程序,也许-只是现在-现在是停止玩该游戏并提高价格的好时机。 总是有一些买主对低质量,低价格的应用程序感到厌倦,并且想要花更多的钱在未来几年会喜欢的东西上。 最终,我进行了一些数学运算,并将价格从3.99欧元更改为4.99欧元,这意味着我可能会损失约20%的销量,但最终仍会获得相近的价格。 到目前为止,价格上涨一直很好。 我还没有看到音量下降。 销售仍然非常依赖天气,但是在好周末,我的销售也差不多,我只是赚了些钱。 正如您在上图中所看到的,无法精确确定价格上涨的地方。 不过,我会告诉您:它在2月17日,就在该月的最佳周末之前。 上图显示了荷兰应用商店中导航类别的前20名。 12个应用的价格为€3.99或更高。 9个应用的价格为€4.99或更高。 我一直在不停地检查这个前20名,这些数字一直是一致的。 比利时的AppStore显示相似的数字,因此目前€4.99似乎是个不错的地方。 所以,数字。 我在去年2月的表现上取得了很大的进步,但比2015年2月还差一点。 公平地说,2015年是令人敬畏的一年。 如果再有一个创纪录的月份,那会很好,但是离我有史以来最好的2月份还不到……是的,我会接受的。 广告 我未来几个月的计划是花一些钱在Facebook广告上。 我已经设置了几个广告系列。 您可以执行的过滤和定位数量惊人。 剩下要做的就是输入信用卡详细信息并启动它。 很快会有更多。 游行 我预计在接下来的几个月中不会打破任何记录。 从3月开始,我的应用程序的销量在2014年确实出现了爆炸式增长,甚至超过这些数字甚至接近它们都非常疯狂。 不过,除了网络更新外,我还没有对这些应用程序做任何工作,只要它们的销量相当不错(阅读:比去年更好),而无需太多关注,它们就是不错的被动收入。 在当今的AppStore经济学中,这是个好地方。

足够! #AppStoreWalkout #iToo

NotchX 自定义Notch壁纸 魔术缺口- 自定义缺口 魔术缺口- 自定义缺口 Magic Custom Notch-壁纸 NotchRemover – 自定义Notch去刘海 X的自定义缺口 自定义缺口 -魔法壁纸 魔术定制 – 缺口壁纸 定制刘海缺口 Notch Pro — 自定义 Notch 魔术定制缺口 —好奇怪 iPhone X的可爱壁纸 可爱的缺口 – 自定义缺口 魔术缺口样式 无缺口 〜 自定义和删除 缺口定制器 魔术缺口 – 自定义和删除 Costom Notch —耳朵壁纸 定制多样化缺口 当您的应用程序被克隆并且克隆使用您的应用程序名称时,除了在iTunes App Store内容争议中向Apple报告之外,您将无能为力。 我报告了这些应用。 他们花了自己的时间,向我报告的所有应用程序开发人员发出了通知。 他们都不在乎。 所有这些开发人员都在问“ Custom Notch是您的商标吗?”“向我们证明Custom Notch是您的商标!”我试图向开发人员和Apple Legal团队解释,他们违反了App Store审查指南4.1。 […]

阿拉伯应用程序相关吗?

昨晚,我和一个朋友在讨论阿拉伯语应用的相关性。 对于开发阿拉伯应用程序与走向全球化,我们有一些有趣的争论。 反对阿拉伯语应用的原因: 国内的阿拉伯应用经济规模还不够大。 使用国家或本地内容将不会有利可图。 习惯使用英语或法语的应用程序的用户在某种程度上对它感到更舒服 使用阿拉伯应用很难获利。 这是因为信用卡普及率较低,而越狱设备数量较高。 仍然没有购买软件的文化。 阿拉伯人并不总是拥有相同的文化,例如,来自Marocco的用户可能与来自伊拉克的用户具有不同的幽默感。 什么代表阿拉伯语应用程式: 大量的内容/想法。 应用程序文化正在成为主流。 它仍然是一个利基市场,并且可能具有智能概念,这可能变得更加相关 减少竞争 潜力巨大 这是我们的文化,我们必须保持下去 如果我们看看为什么该地区的开发人员成功的原因,我们很快就会看到他们的产品是国际化的。 例如: 德曼达 班达应用 天气高清 我不知道通过在该地区销售该应用程序可以获利的阿拉伯文应用程序,如果我错了,请纠正我。 我很想知道我错了。 尽管如此,我认为阿拉伯语的内容极为相关,但要赢利还需要一段时间。 一旦达到这一水平,应用程序的质量就会提高,因为公司将争夺覆盖阿拉伯语的受众。 因此,由于阿拉伯应用生态系统中的资金流很少,只有少数公司生产高质量的内容以具有足够的吸引力来吸引大量销售。 我希望这会很快改变。 您实际上对付费购买有何看法? 您会为应用付费吗? 我们使用的最出色的阿拉伯应用程序之一是先知穆罕默德的《塞拉故事》,您可以从这里找到更多信息:https://sira.co

切换动量(Web-> iOS)

成为自学成才的iOS开发人员似乎很艰巨…… …或者至少它起初看起来像它。 随着移动设备在21世纪变得越来越普遍,这无疑是当前最酷,最令人兴奋的领域之一。 也许在未来5-10年内完全取代我们的台式机和笔记本电脑……?🤔 Swift是Apple推出的一种新的但很有前途的编程语言,正在越来越流行。 目前,它是第4版(非常稳定)。 Xcode仍然很痛苦。 ARKit看起来太酷了-随着iOS Beta和设备的推出,这很有希望。 开发人员社区是超级支持。 (不适用Twittersphere) **我将在另一篇文章中介绍AR / VR技术。 那将是主要的。 来自Web开发(JS)的背景,Swift语法非常容易掌握。 而且不要让我开始了解Swift / Android的Kotlin相似之处。 再见,Java? 👀 作为iOS开发人员到达那个地方将花费大量时间,练习和浪费很多咖啡。 自2017年底以来,我一直在这里和那里散列一些小型教程,以了解创建iOS应用程序所需要的内容。 来自具有编程经验的Web开发人员背景,切换非常好。 去年,我已经厌倦了在WordPress和Shopify店面。 Web应用程序很棒,但是基于客户端的主要是没有初始上限的初创公司。 设计网站和移动应用程序很有趣-我可能仍然会坚持下去。 试图找到原因。 ♂♂️ 我目前正在和一位朋友一起挑战,每天至少构建一个“虚拟”应用程序。 这些“虚拟”应用程序只是展示了我最近通过测试所学到的概念或很酷的框架。 我很快会在一系列文章中分享。 我在GitHub上有一些应用程序的仓库。 其中大多数来自教程。 一些是精美的复制品,在此和那里进行了一些更改。 在大多数情况下,每天在学习新概念的同时创造一些东西是有益的。 它可以建立信心,特别是当您在没有帮助的情况下开始自己创建简单项目时。 *诚实的更新* ,哎呀,我目前落后三(3)个应用程序。 我的家伙,这个超级碗嘉年华真的很疯狂。 🦅🏆 从Web开发人员那里休息可能会令人生畏,尤其是因为框架等不断变化。 很大程度上解释了我转向更加稳定的事情。 我仍然很喜欢网络。 我不会离开你的 ❤️ 无论如何,这是我接下来几个月要关注的几个主题。 这里的大多数概念和范例都将有助于您进行iOS技术面试。