Tag: ipad

仅iPad,gamedev-第二周-工具和应用程序

让我们谈谈在接下来的几周中将对本实验有帮助的工具! 首先,让我展示一下除了iPad Air(第一代,16 Gb,仅Wi-Fi)之外还将使用什么硬件。 由于打字将是游戏开发的重要组成部分,因此除非您是屏幕上的好打字员,否则我们必须拥有实体键盘。 我的选择是Anker超薄键盘盖 –轻巧,电池续航能力良好(待机时间将近6个月!),而且虽然嘈杂,但打字起来确实不错。 对于将要创建的某些艺术作品,例如图标,营销艺术或游戏故事,我建议使用Wacom Bamboo Stylus ,如果您不将任何新的iPad Pro版本与Apple Pencil一起使用,那真的很好。 这个集合很简单,但是足够有效地处理工作。 在软件方面,我希望只使用免费的应用程序,但最终没有找到付费应用程序的良好替代品,因此,清单中的一些应用程序必须以物有所值的便宜价格购买。 当然,您可以根据需要使用任何应用程序作为工具,这些只是建议,也是我在实验期间将使用的那些应用程序。 为了处理文件(这里不再讨论iOS如何处理文件,必须使用它),我将结合使用Google Drive , Dropbox和Documents 5 。 云应用程序将授予我的同步私有服务器上文件的备份。 文档将有助于下载文件,并在必要时将其移至云中。 您可以使用其他更适合您工作方式的应用程序。 在美术创作上, Sketchbook擅长使用手写笔,并且可以生成高质量的图像以供以后导出。 像我喜欢游戏中的老式外观一样, Pixaki可以让我创建游戏中的像素艺术(让我记得我的第一个Atari)。 两者也可以结合在一起,具体取决于您的游戏风格。 如果需要, Pixlr只是用来裁剪生成的图像。 正如您可能猜到的, GarageBand将用于创建游戏的音乐。 我更喜欢使用循环来创建它们,但是,如果您有音乐技能,可以肯定会使用其他工具来制作更好的歌曲! 对于开发人员而言, Koder是一款非常不错的软件。 与云存储,FTP,WebDAV很好地集成; 对于各种编程语言,语法要突出显示,对于本地文件(充当本地服务器),要具有良好的“预览”功能。 它仍未针对大型Pro(开发人员正在对其进行优化)进行优化,但其工作原理却很吸引人。 我认为很多人都了解Workflow及其工作方式。 如果不这样做,可以通过一种非常简单的方式自动处理任务,将其视为iOS的automator。 如果您只想在日常工作流程中使用iOS,则必须习惯一个事实,即它不是(可能还)不能为您做很多事情的工具。 如果您习惯了iOS处理文件的方式,并且会在短时间内适应它,那么这些应用程序的混合不会对您造成影响。 下周,我们将为游戏准备基础,并提供一些文件和图像进行测试。 敬请关注!

是孩子们的“快速游乐场”吗?

老实说 第一次在iPad上启动Swift Playgrounds时,我回到了我的四年级老师Mead夫人第一次给我看电脑的时候。 当然,“学习代码”教程比使用徽标要酷得多。 而且,Byte比我年轻时的乌龟还酷,而且更具表现力,但是感觉是一样的。 这种兴奋是我很多次都没有感受到的,iPhone的引入是一个明显的例外。 Playgrounds Books示例很酷,我期待孩子们学习使用此工具进行编码。 不过,那只是冰山一角。 例如,这是Playgrounds支持的部分框架列表: AVKit 帐目 音频单元 加速 音频工具箱 AVFoundation 核心文字 CF网络 核心图片 CoreGraphics 核心数据 核心音频 核心运动 核心位置 核心蓝牙 达尔文 调度 外部配件 GLKit 游戏套件 游戏控制器 图像IO 金属套件 金属性能着色器 媒体播放器 MobileCoreServices 多点连接 OpenGLES 相片 摄影套件 石英核心 快速浏览 重播套件 社会的 SpriteKit Safari服务 WebKit Swift Playgrounds是为孩子而设计的…… Swift Playgrounds也适合我。

Curso de iOS 10和Swift 3

¿Quéprender? Conocer和Sabre utilizar Xcode 8 Saber实用Swift 3 ,可用于Apple iOS 10程序 Conocer los nuevos框架desarrollo como消息,语音或Siri工具包 禁止在框架中单独注册,注册,注册,并授权的专业人士。 Utilizar Un control de versiones en formma en repositorio Github o Bitbucket Sabre文档和Expandir Conocimientos Con框架avanzados como核心数据,CloudKit,AVFoundation… 可解析的basadas en servidores remotos,Montando el tuyo propio con解析和Amazon Web Services 要求 Un Mac con Yosemite o steriorema pistivo instalado Descripción *在 iOS 10上的《 Udemy […]

Swift Playgrounds:最简单的方法

如果您曾经尝试过建造快速的游乐场,那么您会知道这项任务多么艰辛和令人讨厌。 您不知道出了什么问题,必须一直为您的ipad发送时间,或者等一千分钟直到icloud重新加载它。 如此艰难,以至于我和我的朋友们首先习惯于首先创建一个xcode项目并将所有内容放入其中。 所以,要感谢苹果的时间: 狗的日子结束了! 为什么? 看看:Swift Playgrounds作者 因此,如果您想快速使用这个出色的工具,只需保留此页面即可! 为什么? 作者模板的工作就像魔术一样:您可以构建,测试它,还可以使用运动场语言(实时视图等)调试运动场。 当它准备就绪时:它就可以建造了,您的游乐场将在iPad上完美完成,就像馅饼一样简单! 怎么样? 首先:在苹果网站上下载该项目:Swift Playgrounds Author Template 顺便说一句,我不是要教如何使用,而是要说我在使用时学到的技巧。 1)了解结构 它的结构看起来像xcode和游乐场书籍的结合。实际上就是这样! 老实说,我并没有仔细说出一切,但如果您想了解更多..可以免费在Google上搜索。 运行项目重要的是什么? a)清单-在清单中,您将在其中告知游乐场的基本信息,例如名称,页数等。 b)源代码-在源代码中,您将放置类,例如视图控制器,类…… c)私人资源-这里将包含支持文件,例如图像,情节提要,XIB,Sceneview,音频…… d)章节-如果您已经写了一本操场上的书,那么您会知道这里是文本,尽管该平台在很大程度上发挥了作用 e)章节-最后但仍然很重要的产品,您很快就会了解更多! 2)保重! 上面的图像是此运动场模型中的一个类。您一定不要忘记让重写或委托功能处于公共模式。 如果您这样做,那么构建器将抱怨并要求您将其更改为私有,但委托将无法工作。 另外,请注意,在开始时我添加了此objc行,以便让他们知道我的类在项目中的位置:另一个“您一定不能忘记”的地方! 3)在目标! 如果您从未与多个目标合作过,也许会有些困惑,但是喘口气,我知道您可以做到! 在这个项目中,您有三个不同的目标: a)游乐场书-这将是您工作的结果:游乐场书,但让我们将其保留下来以作为结局 b)书籍来源-顾名思义,这个目标是您的来源,有点令人困惑,但是当我们检查成员资格后,您会明白的 c)书本来源-有用的目标! 有了这个,我们就可以运行,调试并在游乐场中做我们想做的一切 现在您已经了解了每个项目的一点点,应该将正确的目标成员资格添加到项目的每个源中,如果您从未这样做过,那么只需选择存档并打开检查器即可: 那么每个归档文件属于哪个目标? a)来源->图书来源 b)私有资源:私有资源通常是视听内容,这意味着如果您希望将其保留在书中,然后选择PlaygroundBook成员资格,LiveView目标也会发生同样的情况,如果您不标记成员资格,则源不会可用..这就是为什么对我来说不合理的原因是不将所有内容都标记为成员身份,但这取决于您🤷‍♀️ (显然来源除外) 4)建筑和大决赛 现在,您编写了没有错误的代码,并且想要尝试看看行为是否正常。 测试就像在普通的xcode中一样:cmd + r 当然,您必须选择正确的目标:实时显示测试: 选择实时取景,然后等待其在iPad中运行! 大决赛 必须告诉真相:我写了这整件事,等待这一刻! 现在是时候让您的所有代码成为一本真正的游乐场书,并向您的小侄子展示您的惊人项目了。 但是,为什么要大结局呢? 因为它是如此简单,以至我以为是谎言。 […]

将macOS应用程序带到iOS

最近,我们将心爱的Mac应用程序Kaleidoscope移植到了iPad。 iOS 11的生产力功能(例如拖放和增强的多任务处理)使其自然适用于平板电脑。 鉴于尝试使用此类端口的任务,我们必须首先确定要使其平稳过渡所需考虑的最重要的事项。 当iPhone最初发布时,史蒂夫·乔布斯发布了运行OS X的令人振奋的消息。尽管iPhone和其他相关设备的操作系统名称和功能会随着时间的推移而变化,但它们具有共同的传统,可以降低从以下位置移植应用程序的复杂性: macOS到iOS。 尽管平台之间的UI范例有所不同,但绝大多数框架和工具都是相同的。 但是,有一些有关UI和共享代码的重要因素需要引起我们的注意。 全面改革UI设计 macOS和iOS应用之间的主要区别在于macOS将AppKit用于其UI框架,而iOS使用UIKit。 AppKit包含重叠窗口,菜单和鼠标指针等概念。 UIKit包括Multitouch和一个窗口,该窗口根据应用程序的状态和上下文而变化。 苹果选择为iOS创建一个新的UI框架,因为这两个平台之间存在主要的UI范式差异。 因此,在创建Mac应用的iOS版本时,UI的设计将需要进行大修。 您应该为您的应用创建一个新的UI设计,使其在iOS上感觉很原生,并使用其惯用法。 注意创建或使用现有跨平台UI框架的诱惑。 这不仅很难解决,而且将来的OS版本可能会破坏您的框架,这将需要不断的维护。 最后,尝试使您的UI跨平台,您将有可能通过更多的工作获得更差的结果。 苹果制作了两个单独的UI框架是有原因的。 创建共享代码框架 应用程序中将包含共享代码的部分是模型,该模型以独立于UI的方式描述了应用程序的数据和行为。 如果您不是以这种方式设计应用程序,那么您需要做一些工作。 即使您试图创建一个干净的模型,您也很可能会发现需要做些工作的地方。 共享代码的最佳方法是创建一个框架。 您将需要为共享框架的macOS和iOS版本创建单独的目标。 通常,针对您的框架目标的一个好的命名方案是MyAppCore-macOS和MyAppCore-iOS。 您还需要创建一个新的iOS应用程序目标。 您的两个应用程序目标都需要将相应的共享框架目标分配为目标依赖项,需要与之关联,并且需要包含在嵌入框架阶段。 识别共享框架的文件 接下来,您将开始艰苦的工作,以确定哪些源代码文件应成为框架目标的一部分。 两个框架目标都应包含相同的源代码文件列表,并且这些文件应从Mac应用程序目标中删除。 包含在您的共享框架中的主要候选对象是数据模型文件,例如核心数据类,网络客户端,实用程序类以及可以与UI分离并重复使用的应用程序的任何其他部分。 查找应用程序独立于UI的代码的一种方法就是简单地检查每个源代码文件的导入是否缺少UIKit。 单元测试以提高可靠性 如果在视图控制器中定义了很多行为,则需要将该行为重构为现有视图控制器使用的单独数据类型。 当您明确定义模型并将其与UI分离时,您的共享框架将是单元测试的理想之选。 您的模型是应用程序中最重要的部分,添加单元测试将确认其运行正常。 进行更改时,单元测试还有助于最大程度地减少错误。 几乎完美的契合 为macOS创建的应用程序似乎很适合iOS。 您的应用程序的许多逻辑和数据模型可以在平台之间共享。 但是请不要忽略这些重要的细节。 您面临的最大挑战是创建一个干净的体系结构,以将应用程序的模型与其UI分开。 在iOS的UIKit中重新考虑并重新实现应用程序的UI,您将顺利地从macOS过渡到iOS。 在App Store上下载适用于iPad的万花筒iPad,免费试用14天,然后让我们知道您的想法。

为iPad推出Photomyne。 因为越大(有时)越好

Photomyne很高兴地宣布iPad优化的体验,现已在App Store上进行了最新应用更新(2017年7月)。 这是我们从忠实的用户那里获得的最迫切的开发需求之一,因此我们决定提供这一功能。 那么,是什么使8.0版Photomyne最好的iPad更新呢? 一些注意事项:首先,该应用程序(免费和付费)现在都在横向模式下运行 。 这意味着整个Photomyne体验(从扫描到浏览,共享和保存)都旨在使用iPad的横向模式来增强视觉效果和方向。 其次,使用iPad的横向模式键盘可以更方便地添加照片标签(添加照片的故事,位置,名称和日期)。 此外,如果您有Photomyne帐户,并且在iPad上使用Photomyne应用程序,则欢迎登录photomyne.com并使用iPad的大屏幕浏览和保存在线照片。 因此,请继续在App Store上更新您的Photomyne应用。 还没有Photomyne吗? 在这里尝试免费的应用程序,看看使用iPad多么有趣和轻松。 有任何疑问吗? 我们都很高兴:support@photomyne.com或通过photomyne.com访问我们

有效的Xcode堆栈视图方法

1 。 使用情节提要,创建一个堆栈视图,如图(1)所示。 将路线设置为“填充”,将“分布”设置为“均等填充”。 另外,为子视图设置间距,该间距对于iPhone和iPad看起来都不错。 设置好所有按钮后,请稍后使用这些值。 2 。 如图所示放置堆栈视图(图2)。 堆栈视图不需要大小限制 。 注意堆栈视图的位置。 约束使用尾随空格设置水平位置,并使用顶部空格设置垂直位置。 子按钮视图确定堆栈视图的大小。 您可能会想要调整堆栈视图的大小,然后将按钮放在其中。 我建议不要这样做。 这是一罐蠕虫。 3 。 将按钮或其他对象拖到“堆栈视图”中(图3a)。 然后使第一个的等于主屏幕的宽度(图3b)。 接下来,将宽度编辑为主屏幕的百分比。 注意0.09乘数。 这样做将使“堆栈视图”中的所有子代的大小都根据屏幕大小进行调整。 4 。 向子级添加一个约束(图4)。 选择“宽高比”并将其设为1:1。 这样可以防止按钮歪斜。 将此约束添加到堆栈视图中的所有子级。 这是一个包装。 堆栈视图和自动布局的这种基本方法在大多数情况下都有效。 寻找即将发表的文章,以了解IBM Watson,Apple CoreML和Google Colab如何合作确定外星人。 可在此处获取更多屏幕截图: 影片| 不是地球 www.notfrom.earth

为iPad编写应用程序1

CrowdCam LLC技术总监Joakim Fernstad撰写 tl; dr完全可行,仍然! 在CrowdCam,我们喜欢向人们展示他们的照片,在夏天,我们认为为iPad创建新产品会很酷。 如果它也可以在iPad 1上运行,那将非常酷! 该产品称为SendFrame,它显示通过电子邮件发送到连接到iPad应用程序的SendFrame电子邮件地址的照片。 你可以在这里找到它。 从理论上讲,这一切都非常简单,而且iPad 1无法应付(实际上,正如它所显示的那样!)。 但是,iPad 1只能运行iOS 5,最新版本是iOS 5.1.1,这是4年的OS版本(更不用说设备本身是6.5年了!!),并且Apple已将iPad 1标记为旧设备,这意味着他们将不以任何方式,形状或形式支持它。 有几篇文章(例如this和this)可以帮助您确定如何为此旧OS版本开发应用程序,但它们并未提供完整的解决方案。 我发现它比他们描述的要容易,尽管您需要了解一些注意事项。 首先,这是我使用的工具: 运行El Capitan 10.11.6(15G31)的MacBook Pro iPad 1,iOS 5.1.1(9B206)带30针连接器 Xcode 7.3(7D175) Xcode 6.2(6C131e)<<魔术的一部分 所有开发人员都可以在Apples开发人员网站(2.5GB)上下载Xcode的早期版本,也可以在此处搜索“ Xcode 6.2”。 为什么我们需要Xcode 6.2? 因为它仍然支持调试iPad 1,所以您只需要跳过其中的一些步骤即可使其正常运行。 有关该应用的一些信息 正如我所说,我们的应用程序非常简单。 用户可以创建一个帐户,选择一个SendFrame电子邮件地址,然后查看传入的照片。 还有一些控件可以在幻灯片中来回移动,旋转照片和删除照片。 共有5个视图,它们使用常规的UINavigationController在它们之间进行导航。 这是情节提要的完美用例。 对于服务器请求,我使用由NSOperation控制的常规NSUrlConnection。 自iOS 4以来,此代码运行良好,没什么花哨的。 故事板 由于此版本可在旧版iOS版本上运行,因此我们不能使用闪亮的新故事板功能。 您可以将此故事板设置为与Xcode 6.2(“打开位置”)兼容,但该设置对我而言一直崩溃,因此我将其保留为Xcode7.x。 这使我们进入箍1: 使用Xcode 7.3在模拟器上进行代码,情节提要和调试。 使用Xcode […]

iPad开发人员开发P2P支付应用程序的精确技巧

对等支付P2P是一种在线技术,允许客户通过Internet或移动电话将资金从其银行帐户或信用卡转移到另一个人的帐户。 点对点服务使人们能够像发送文本一样容易地进行相互付款,其中用户将允许其对等点更轻松地访问其帐户,从而使付款和结算账单更加自然。 的 iPad开发公司有自己的做事方式,因为他们正在开发自己的点对点汇款服务,并可能在安全的Apple Pay框架下。 苹果, iPad开发 据说该公司正在开发自己的点对点汇款服务,可能在安全的Apple Pay伞下。 一旦iPad开发人员与支付行业一起构建了该应用程序,Apple P2P服务可能会在今年尽快启动。 苹果还宣布,它将允许iPad开发人员制作与iMessage集成的应用程序。 消费者越来越接受在线银行,移动银行和电子商务,这为更多使用点对点支付铺平了道路。 进一步阅读以了解iPad开发人员在开发P2P支付应用程序时需要考虑的事项。 iPad开发人员开发P2P支付应用程序的精确技巧 对等或P2P付款是当今付款平台的一项点播服务。 从Download.com的… www.business2community.com

在iOS应用中处理大文件

我们如何使Kaleidoscope for iPad尽可能灵敏。 近十年来,万花筒一直是一种流行的生产力工具,这有充分的理由:桌面应用程序具有无与伦比的性能,因此可以无缝地进行文件比较和合并。 当我们着手将万花筒带入iPad时,我们知道过渡将相对简单。 但是,由于预计通过平板电脑的基于触摸的UI可以快速轻松地进行交互,因此我们预计在开发过程中会遇到一些障碍。 最大的三个挑战是: 比较两个文本文件后,快速显示较大的文本差异。 快速响应由多任务处理(即,打开第二个应用程序)和设备旋转引起的UI大小更改。 确保在较大的文本差异中滚动是平滑且无死角的。 所有这些挑战都是相关的; 共同的主题是确保在处理大型文本差异时,该应用程序具有尽可能高的响应速度。 清除障碍 创建大型,复杂的文本比较既费时又会影响性能。 为了提高效率,我们确保仅在需要时才产生文本差异。 为了清除出现不必要的文本差异的实例,我在Xcode中创建了一个断点,该断点可以播放声音并在产生差异时继续执行。 如果我听说过应该不生成差异时遇到断点的情况,我将调查原因。 使用并发队列 在构建高响应性应用程序时,重要的是您必须并行执行尽可能多的工作。 由于文本差异涉及比较两个文本文件,因此在UI中布置差异的逻辑还涉及两次执行某些操作(每个文件一次)。 我们使用OperationQueue类的实例创建并发工作项队列,同时执行了这些“对”工作项。 例如,由于各种UI布局原因,必须计算文件中每行文本的渲染高度(可能是换行高度)。 这些行高测量可能需要一段时间才能完成,尤其是对于大型文本文件。 因此,我同时测量了每个文件作为单独的Operation对象的行高。 这两个操作被添加为使用它们收集的线高信息的操作的依赖项,因此,一旦该信息可用,将自动开始需要线高的工作。 缓存布局信息 如上所述,计算文本差异的布局可能很耗时。 信息一旦存在,就将其保存在内存中,并以文本差异UI的宽度为键。 缓存的信息有助于确保旋转设备或通过同时打开另一个应用程序来调整窗口大小,从而尽可能地做出响应。 如果用户碰巧调整iPad的系统范围的字体大小首选项“动态类型”,则清除缓存的布局信息,因为字体大小的更改要求重新计算所有布局信息。 优化性能 在Instruments中使用Time Profiler可以帮助确定性能瓶颈。 有时,在较小的文本差异上效果很好的数据结构或算法最终会成为较大数据集的严重性能问题。 仪器(特别是Time Profiler仪器)派上了用场,以查看我的哪些方法正在占用CPU。 一旦确定了问题区域,便可以设计出一种更有效的方法。 仪器的使用极大地帮助了这种“使之工作,然后根据需要进行优化”的方法。 使用阵列节省时间 避免执行许多Swift字符串连接,而是加入字符串数组。 使用+ =从很多片段中构建一个大字符串比将那些较小的字符串添加到数组然后调用join方法要慢得多。 对于大量文本,此优化将方法花费的时间从10秒减少到大约10毫秒。 新设备,不折不扣的性能 在iPad上,性能可以说比在台式机上更为重要,因为用户可以触摸UI并期望立即得到响应。 加上iPad具有比台式或笔记本电脑更低的马力这一事实,因此保持警惕以确保性能保持尽可能合理变得更加重要。 随着我们为iPad改进万花筒,我们将继续将性能和响应能力放在首位,并在此过程中与您分享我们的见解。 立即下载iPad版万花筒,免费试用14天。