Tag: xcode

iOS 12中的Siri快捷方式简介

在圣何塞举行的WWDC 2018上,Apple宣布了Siri Shortcuts,这是期待已久的功能,它使开发人员能够在自己的应用程序中扩展和增强Siri的功能。 以前,SiriKit SDK的整体功能非常有限。 随着Siri快捷方式的出现,开发人员可以扩展Siri的功能并构建自定义语音操作来调用应用程序。 Siri Shortcuts的核心是自动化。 实际上,Siri Shortcuts是由Workflow演变而来的,Workflow是由前WWDC学者构建的iOS自动化应用程序。 苹果于2017年收购了Workflow,但此举并不具有特色,因此在被收购后该应用就一直在App Store上保持上线状态。 快捷方式使您可以向Siri展示应用程序的功能。 如今,Apple的新Siri Shortcuts应用程序大量借鉴了Workflow应用程序。 但是,区分语音快捷方式和“快捷方式”应用程序很重要。 快捷方式应用程序允许用户为日常日常任务创建基于语音的短语,而Siri快捷方式则使开发人员能够在自己的本机应用程序中扩展Siri的功能。 在撰写本文时,“快捷方式”应用程序无法在iOS 12 Beta 2 Build中进行测试。 相反,我们将在我们构建的自定义应用程序中探索Siri快捷方式的实用程序。 注意:本教程假定您已基本熟悉NSUserActivity API。 如果您不这样做,请在此处参阅有关该主题的出色教程。 在本教程中,我们将探索如何在一个简单而基本的项目中利用Siri快捷方式,该项目将使用户说出“ Say Hi”之类的短语,然后我们将启动我们的应用程序并显示一个UIAlertView。 该应用程序的目的是提供一个简单的概述,说明如何在您的应用程序中集成Siri快捷方式,而不会增加大型项目的混乱情况。 在本教程结束时,您应该对SiriShortcuts背后的用例和技术有扎实的了解,并且知道如何将它们与应用程序集成! 在开始任何新项目时,重要的是首先花一些时间来建立基本的项目结构。 首先,请确保您具有iOS 12,macOS Mojave和Xcode 10的最新开发人员预览。如果您没有这些工具,那么您将无法运行本教程中的代码,因为Siri Shortcuts是该工具中引入的新API。 Xcode 10和iOS 12 Beta。 如果您是注册的Apple Developer,则可以从Developer Site下载它们。 启动Xcode并创建一个新的Single View App,在SiriShortcuts中键入名称(或您想要的任何名称)。 我们将com.appcoda包含为组织标识符,但可以随时将其更改为您自己的组织标识符。 完成后,单击“ 创建”以加载Xcode项目。 首先,导航到Xcode项目的“ 项目设置”部分,选择“ 功能” ,然后向下滚动,并确保启用了Siri,如下所示。 这将使我们能够在应用程序中使用Siri […]

@objcMembers让我傻了

假设您有一个要在Obj-c中使用的Swift类。 通常,您只需使用@objc属性标记该类及其属性。 但是,如果您的类具有很多方法和属性,而不是使用@objc标记每个方法和属性,则可能更聪明的方法是使用@objcMembers属性,该属性将标记对您而言在Obj-c中可见的所有内容。 现在,这是有趣的部分。 根据苹果 将@objcMembers属性应用于类会隐式地将@objc属性添加到其所有与Objective-C兼容的成员。 这样一来,您将认为对于我的示例类来说,两种方法是平等的。 好吧,他们不是。 实际上,这些是: 为什么对我来说意味着什么? 假设您已经使用@objc作为NSObject的子类声明了该类。 该类是Swift框架的一部分,在其他一些Obj-c项目中用作依赖项。 出于某种原因,例如在重构期间,您决定从NSObject中删除继承。 这个故事如何结束? 或多或少像这样: 可是等等! 通过使用@objcMember,您很聪明,因此您得到了…… 没错 没有警告。 没有。 就这样

Membuat UICollectionView Xcode 10

Hai,Kembali Lagi .. Pada kesempatan kali ini saya akan membagikan cara membuat UICollectionView pada XCode 。 UICollectionView是一个对象,该对象管理数据项的有序集合,并使用可定制的布局显示它们。 [作者:developer.apple.com] Jadi apa bedanya dengan UITableView吗? Secara konsep keduanya sama。 Sama-sama digunakan untuk Menampilkan 设置数据 。 Hanya saja pada UICollectionView dapat melakukan beberapa kostumisasi seperti 流布局,动画,网格等 。Sedangkan pada UITableView hanya dapat menampilkan 设置数据 secara 垂直 。 Semuanya kembali […]

Xcode中的Mogenerator入门公会

安装发电机 Mogenerator是为Core Data对象生成类的工具。 如果尚未安装,请打开终端并使用自制软件安装: 酿造安装发电机 确保在终端中通过mogenerator –version正确安装了它: Yuchens-iMac:〜yuchen $发电机–version 发电机1.30.1。 作者:乔纳森·沃尔夫·伦茨许+朋友。 创建核心数据对象 假设您已经熟悉核心数据,如果不是,以下是创建Enity调用Event的简单示例,它具有两个属性: name和time 。 选择.xcdatamodelid文件 添加实体 给实体起个名字(例如事件) 创建一些属性(例如名称和时间) 给这个实体一个类名(例如Event,它不必与实体名匹配,但是最好保持它们不变) 生成类 现在,如果您尝试将cd插入项目文件夹并键入以下命令,则应该已经可以生成类了。 Yuchens-iMac:HelloWorld yuchen $生成器-m HelloWorld / HelloWorld.xcdatamodeld -O HelloWorld / Model –template-var arc = true 生成2个机器文件和2个人工文件。 与Xcode集成 在项目开发过程中,我们经常更改对象模型,我们不希望每次打开终端并输入命令。 另外,我们可以按照以下步骤将脚本放入Xcode项目中。 打开Xcode项目,然后选择“ 文件”>“新建”>“目标…” 。 随心所欲命名新目标, 选择新创建的目标,然后选择编辑器>添加构建短语>添加运行脚本构建短语 : 将命令放入脚本窗口: 生成器-m HelloWorld / HelloWorld.xcdatamodeld -O HelloWorld / Model […]

教程如何模拟iOS设备上的位置。

在编写此说明时,我是由iOS大师Andrii Rogulin指导的。 谢谢兄弟,这将有助于许多质量检查人员。 转到帐户,然后单击“下载工具”。 应该有一些重定向到App Store,以下载XCode。 等待直到安装了XCode。 运行XCode。 将您的iOS设备连接到安装了Xcode的计算机。 点击“创建一个新的Xcode项目” 选择“单视图应用” 填写“产品名称”,然后单击“下一步” 选择应在其中创建项目的位置。 最后,您应该会看到类似于此屏幕 在选项卡中,遵循:XCode->首选项->帐户->“ +”->“ Apple ID”->登录到您的帐户。 选择团队 按“>”,构建过程应开始。 在构建结束时,您的iOS设备将被重定向到空白页,您可以从中切换到地图应用程序。 要更改地图上显示的iOS设备的当前位置,请执行以下操作 3.选择其中一个位置后,地图将重新加载并显示所选位置。 现在您可以进行一些位置相关的测试。 附注:要获得更多位置,请点击此处: GPX Generator –轻松生成GPX文件! 通过单击Google Maps轻松快速地创建GPX文件! 使用生成的代码文件来模拟在您的…… gpxgenerator.com 上的行走

3D Touch Peek&Pop入门-Swift

今天,我们正在检查最好的3D Touch功能。 你们中有些人可能在想,这与长按有什么不同,对吗? 好吧,目前它的用途可能并没有很大的不同,但是使之成为可能的技术却是完全不同的。 3D Touch将感应您的手指对屏幕施加的压力并触发各种动作。 因此,代替短按或长按,3D Touch可以实现软按和硬按。 通过本教程,您将知道如何在主屏幕快速操作以及“窥视和弹出图像”中实现3D触摸。 在您的应用上实施3D touch之前,您应该检查设备是否支持3D touch。 检查3D Touch支持: if(traitCollection.forceTouchCapability == .available { registerForPreviewing(with:self,sourceView:view) } 1.主屏幕快速操作 快速动作只不过是当您强行触摸应用程序图标时,将显示一个菜单。 您可以使用它来快速访问应用程序的特定部分或触发操作。 快速动作分为静态和动态。 每个应用最多可以执行四个快速操作。 您可以定义更多快速动作,但是最多可以显示四个。 此外,静态快速动作将被优先考虑。 因此,如果您定义了三个静态快速动作和两个动态快速动作,则将显示所有三个静态快速动作,但仅显示一个动态快速动作。 您可能已经注意到,应用程序提供了第五个快速操作,称为“共享”。 该操作由操作系统自动提供。 静态快速​​动作 静态快速​​动作在编译时生成,并且始终保持不变。 在安装应用程序之后,甚至在首次启动之前,它们都将立即可用。 动态快速行动 动态快速行动在运行时生成,并通过使用代码反映某种用户行为。 对于每个项目,您都必须创建UIApplicationShortcutItem的实例。 然后,您可以设置所有项目。 让我们从创建新项目开始。 之后,您必须在应用程序的Info.plist定义UIApplicationShortcutItems数组。 源代码: UIApplicationShortcutItems UIApplicationShortcutItemIconType UIApplicationShortcutIconAdd UIApplicationShortcutItemTitle 显示图片 UIApplicationShortcutItemType addBundleIdentifier .showPictures 在AppDelegate中,添加performActionForshortcutItem函数,并在其中插入以下代码 如果shortcutItem.type ==“ UIApplicationShortcutItemType” { let storyBoard:UIStoryboard […]

通过NativeScript获得程序(ming)

2月,一位当地企业家实现了他的梦想,即推出一个电子商务应用程序来帮助大学生。 Upstate Interactive用了六个月的时间设计和开发了一个移动应用程序,使他可以在预算范围内尽快出现在用户面前。 它目前在应用程序商店(CampusPro。)中,并已在UAlbany推出。 在我的朋友NativeScript的帮助下,在我首选的开发堆栈(JavaScript,Angular和Node.js)中构建并开发真正的本机iOS应用程序并将其发布到应用程序商店,这是一次很棒的体验。 移动应用程序开发已成为一个模糊的世界。 对移动设备上Web应用程序性能的改进已经模糊了响应式Web应用程序与本机移动应用程序之间的界限。 您如何在本地,混合,渐进或Web应用之间进行选择? 并非总是有一个正确的答案。 它取决于您的业务目标,时间表和预算。 Upstate Interactive可以帮助您确定哪个选项是适合您的业务的正确解决方案。 为什么要使用nativescript进行移动应用开发? 有几种不同的用于本机移动开发的Web框架,这些框架允许开发人员从一个代码库构建跨平台应用程序(Web,iOS,Android),而无需进行特定于平台的自定义。 在Upstate Interactive,我们更喜欢使用称为NativeScript的开源框架。 NativeScript开发人员可以在使用JavaScript和Angular等前端Web语言进行构建时访问本机核心API。 由于它访问iOS和Android核心,因此无需使用Web视图即可获得无缝的用户体验。 开发人员可以为所有设备设计应用程序,访问蓝牙,摄像头和地理位置等设备功能,并部署到App Store和Google Play。 我喜欢使用NativeScript开发移动应用程序。 但是,与任何开发项目一样,它也面临着一系列挑战。 这是令我惊讶的几件事: 虽然可以通过同时为iOS和Android进行构建来节省时间,但仍然需要从时间和资源的角度解决特定于平台的错误。 为了在每个平台上获得出色的性能,请在时间轴上留一些余地,以便尽早在尽可能多的设备上进行自定义和测试。 NativeScript发布了Sidekick,它可以简化应用程序的安装和部署。 因为它仍然很新,所以我更喜欢通过Xcode部署到iTunes Connect。 Xcode在大多数情况下似乎都是不可思议的事情……但是,一旦您的应用开始运行,您就可以在许多不同的设备上进行测试并将其上传到iTunes上非常简单。 以下是一些令我兴奋的事情: NativeScript是具有强大支持的非常强大的工具,因此,非常活跃且易于访问的NativeScript社区不断地进行改进。 他们举办以开发人员的演讲为特色的会议。 我在秋天参加了在纽约举行的会议,这对我和我的团队来说都是一个很好的机会,可以提出问题,提供反馈并了解最新动态。 他们对GitHub问题做出响应,并且总是有人在其Slack频道中回答问题。 如果您对选择构建哪种类型的应用程序有任何疑问,或者对使用NativeScript进行开发有任何疑问,请发表评论! 我的下一篇文章将是有关通过xCode和iTunes Connect部署到Apple App Store的过程的教程。 敬请期待🙂

Swift在Swift上进行临时构建

Otimizando ocódigopara tratar问题,因为没有编写XCode的编译器。 讨论和更新Swift 2.2编译器中的简单对象。 动机吗? 自动翻译为自动翻译。 简易执行程序, 快速安装程序, Swift 2.2 ,编译器指南。 从下至上都可以归纳为问题的坟墓,可以从最简单,最简单的形式到最简单的形式。 集市想象一下,科斯·迪戈斯·科莫斯·埃斯帕尔哈多斯·波普里托·波多里亚·波罗佩拉·科比塞纳:霍拉斯,塔尔维斯·迪亚斯·德·比米拉。 😤 Esteéumuma deinferênciade tipo。 可以快速编译XCode的连续性命令,可以连续,连续地编辑和编辑其他类似的代码。 特殊的辅助功能,辅助阵列的辅助功能,临时性的辅助功能。 暂无评论,或直接查看一份证明书 : 声明书中的验证字是正确的。 😏 情景推论是主要的有利时机,它是Apple的Lanscape或Swift,完全由utiliza-la开发。 事发时,事例等同于事态的解决方案(编译成事例),是确定事例的辅助工具,还是事主! 一个解决方案,可以帮助您快速编译编译器..🤣 迅速解决问题,并迅速完成了配置, 调试了时间功能主体并完成了配置。

自定义Xcode:主题

我并不完全喜欢Xcode默认的主题。 同样,看着相同的颜色也很无聊,所以我想不时地更换它们。 因此,这是有关如何自定义Xcode的初学者教程! 您可以为Xcode主题自定义自己的字体和颜色,但可以在此处下载Hdoria提供的一系列主题。 下载Zip文件,并将其解压缩! 2.访问以下文件夹〜/ Library / Developer / Xcode / UserData / FontAndColorThemes / 自从Maverick OS X推出以来,Apple决定增加访问Library文件夹的难度,所以如果您不担心的话。 打开“查找器”,单击顶部菜单上的“开始”。 按住“ Option”键,您应该能够看到魔术般显示的库文件夹! 注意:如果看不到FontAndColorThemes文件夹,只需添加一个即可! 3.之后,按照上述指示进行操作。 将所有解压缩的文件拖到FontsAndColor文件夹中。 4.如果您打开了Xcode,请重新启动它,然后…… 恭喜! 您有全新的主题可供选择! 其他用户创建了许多其他主题。 继续为您找到一个! 或者…您可以随时自定义自己的。 但是其余的UI仍然是默认的! 不幸的是,Apple不允许您自定义Xcode中的其余UI。 如果您仍在使用Yosemite OS X,则可以下载Flavors 2来自定义系统主题。 但是,如果您升级到El Capitan,则Apple的新安全策略不允许对系统UI进行任何修改。 我在黑暗中工作,默认用户界面太亮了! 如果您不介意倒置颜色,那么…对于那些在黑暗中进行编码并喜欢深色主题UI的人,我有一种解决方法。 但是,它不是很实用,可能会打扰某些用户。 如果上面的屏幕截图对您来说很不错并且没有伤害您的眼睛,请转到“系统偏好设置”->“辅助功能”。 在显示设置上,选中“反转颜色”。 试试看,看看您的喜欢程度如何。 希望我们能很快得到Xcode的深色UI……。 奖励:终端定制 像Xcode一样,如果您不想自己创建或使用可用主题之一,GitHub上的用户也会提供自定义主题。 您可以在此处下载lysyi3m提供的一系列主题。 下载压缩文件并解压缩。 对于Terminal,此过程要简单得多。 打开“终端”,单击顶部工具栏上的“终端”,然后选择“首选项”。 转到“个人资料”标签。 在底部,单击“齿轮”符号。 选择“导入”,然后选择您要导入的主题! […]

将Vuforia Unity项目部署到iOS 11.3.1:未知的解决方法

我喜欢Unity,并且绝对喜欢通过Vuforia集成构建AR体验。 但是最近,在尝试部署到新近更新的iPhone进行测试时,我遇到了一个问题。 当我打开我的应用程序时,出现了Unity启动屏幕,并且控制台清楚地表明一切都按预期运行,但是屏幕全黑! 现在,有如此多的应用程序和平台协同工作,以将Unity项目构建和部署到您选择的平台上-留下了很多潜在的兼容性元凶。 主要版本冲突可能是您的OS,Unity,X-Code与要部署到的平台的OS之间的任何组合。 我将讨论我的特定问题以及解决该问题所采取的步骤。 问题 如前所述,由于某些原因,Vuforia ARCamera组件未拿起设备上的摄像头,导致整个屏幕变黑。 我在线检查了已知的兼容性问题,发现X-Code 9.3和iOS 11.3引起了该问题。 但是,这还不是我的祸患。 由于黑屏错误 ,我无法使用9.3进行部署,并且无法回滚到X-Code 9.2,因为它根本不会为11.3编译! 随之而来的是面对技术Catch 22时经常出现的恐惧和厌恶感。我喜欢称其为tisswtfw或: 这太蠢了,该死!! 为什么?! 但是我们是开发人员,我们继续前进。 因此,当我茫然地凝视着屏幕时,让愤怒和困惑迷惑了我几分钟,然后我回到寻找问题的答案的位置。 解决方案 经过艰苦的挖掘工作以找到正确的解决方案之后,当您最终找到它时,您会感觉可以亲吻作者。 但是由于他可能不会喜欢来自陌生人的这种亲切感,因此应将奇尔顿·韦伯(Chilton Webb)视为我的杰出救星。 密钥隐藏在X-Code 9.3目录的深处,然后需要移植到9.2。 假设您已经在计算机上安装了最新版本的X-Code,则需要转到Apple Developer Portal下载部分(由于OSX应用商店通常很糟糕,所以我建议通常使用此代码),然后找到X-安装代码9.2。 确保您为早期版本命名了不同的名称,以便将其移至应用程序目录时不会覆盖9.3。 然后,当您同时获得两个版本时,您将需要右键单击9.3并选择如何打包内容 。 导航: 目录/开发人员/平台/iPhoneOS.platform/DeviceSupport 找到名为11.3 (15E217)的文件夹并将其复制。 然后,您需要将9.2版本的X-Code打开到同一目录(DeviceSupport),然后粘贴到该文件夹​​中。 现在,在Unity中,您可以将构建目标版本更改为9.2。 它将成功地构建到iOS 11.3,而不会出现9.3带来的黑屏问题。 辉煌!