草庐IT

WatchKit_Extension

全部标签

ios - 如何使用 Swift 检测我的代码是否在 WatchKit 或 iOS 上运行?

我有一个包含两个目标的类,我想知道我是在Watch还是iPhone目标上运行它的方法。拜托,只是Swift的回答。 最佳答案 像这样#ifos(iOS)print("iOS")#elseprint("anythingelse")#endif甚至这个if#available(watchOS2,*){}if#available(iOS9,*){} 关于ios-如何使用Swift检测我的代码是否在WatchKit或iOS上运行?,我们在StackOverflow上找到一个类似的问题:

ios - 如何在 Messages Extension 中发送 MSMessage?

我想实现一个imessage应用程序,但是作为消息框架的新手,而iMessage应用程序又是一个新事物,资源不多。所以我正在关注WWDCvideo并使用苹果提供sampleapp寻求指导。我有三个View,处理几乎所有功能的MessageViewController,然后是CreateViewController和DetailsViewController。我只是想从CreateViewController创建一个MSMessage并在DetailsViewController中显示..然后添加到数据。但是,我在尝试创建数据时遇到了崩溃。@IBActionfunccreateActio

swift - iOS Today Extension 可以从应用程序的 Info.plist 中读取 URL 方案吗

我们有我们的应用程序目标,并且在该Info.plist中,我们定义了可用于使用URL打开应用程序的URL方案。现在我们要添加今天的扩展。我们希望有一个TableView,它将从扩展程序中打开该URL。我们会看到API是如何支持它的。我们能否从应用程序的Info.plist中获取URL方案,或者我们是否基本上“硬编码”扩展中的值以调用它打开? 最佳答案 要获取infos.plist值,您可以使用:leturlTypesArray=NSBundle.mainBundle().objectForInfoDictionaryKey("CFB

ios - WatchKit 数据不显示

我正在将数据从iOS传递到WatchKit。但我无法获得显示在WatchKit端收到的数据。这很好用:iOSTableViewControllerfuncgetCloudKit(){///...letpublicData=container.publicCloudDatabasepublicData.performQuery(query,inZoneWithID:nil){results,erroriniferror==nil{//Thereisnoerrorforplayinresults!{letnewPlay=Play()newPlay.tColor=play["TColor"]

ios - 为什么从 WatchKit 扩展发送消息到 iOS 并返回回复这么慢?

我正在使用sendMessage方法将消息从WatchKit扩展发送到iOS应用程序。收到回复平均需要大约230毫秒。该时间不取决于iOS应用程序是在屏幕上还是在后台运行。230毫秒大约是光绕地球一周并返回所需的时间。但是当我测试这个时,手机距离我的watch30厘米。问题:为什么这么慢?它应该这么慢吗?有没有办法让它更快?一个观察:根据我之前在watchOS1中的实验,通信速度要快一些,一次往返大约需要50毫秒。从WatchKit扩展发送消息letsession=WCSession.defaultSession()session.sendMessage(["messagefromwa

swift - 嵌套通用约束 : Constrain the T of a generic item inside a generic sequence extension that is constrained to that generic type

在Swift中,我们可以对序列等通用项编写扩展:extensionSequencewhereIterator.Element:ObservableType{}这将保证扩展仅适用于(在本例中)RxSwiftobservables的序列。但是,如果元素约束是另一个泛型,那么您能否约束该泛型?例如:extensionSequencewhereIterator.Element:ObservableTypewhereE:MyType{}在上面的伪代码(不起作用)中,意图是说:此扩展应该适用于Observable的序列,其中Observable是类型为MyType的Observable,例如[可观

ios - 如何从 watch OS 2 中的 Watch Extension 创建 UIView 实例?

在watchOS1中,我能够在WatchExtension中创建自定义View的实例。我不是在谈论显示它,我的意思是只是创建View的一个实例,然后创建一个包含其内容的UIImage。现在,在watchOS2中,我无法从WatchExtension访问UIView,即使我已经导入了UIKit框架。有什么方法可以从WatchExtension创建UIView的实例吗? 最佳答案 不幸的是,这似乎在watchOS2上是不可能的。watchOS1使用iOS平台SDK,而watchOS2是一个独立的平台。迁移文档:InwatchOS2,yo

ios - 更改 watchKit 中的初始界面 Controller

我有两个接口(interface)Controller,controller1.swift和controller2.swift这些与push-segue连接(在按钮操作之后)。但在某些情况下,我需要跳过controller1并仅显示controller2。在iOS应用程序中,我在appDelegate中执行此操作,设置rootViewcontroller等。在AppleWatchExtension中执行此操作的方法是什么?有什么指导或帮助吗? 最佳答案 letrootControllerIdentifier="FirstInputI

ios - WatchKit SF 等宽数字

有什么方法可以在WatchKit中为SanFrancisco字体设置等宽字体?在IntroducingtheNewSystemFonts中,presenter仅针对AppKit显示。感谢示例代码。Xcode:7.0测试版watch操作系统:2.0 最佳答案 快速版本:letmonospacedFont=UIFont.monospacedDigitSystemFontOfSize(16,weight:UIFontWeightRegular)letmonospacedString=NSAttributedString(string:"1

xcode - @testable 在 Swift 单元测试中导入 Watch Extension 模块

我最近注意到@testableimport似乎不适用于WatchExtension模块。这是我到目前为止尝试过的:使用WatchKit应用程序创建一个新的Xcode项目并包括单元测试。打开自动创建的单元测试文件并添加@testableimportProjectName_WatchKit_Extension(在确认这是扩展build设置中的正确模块名称之后)。这会产生“没有这样的模块”编译器错误。确认在扩展build设置中“启用可测试性”设置为是。更改扩展模块的名称以删除空格我当然能够通过将所需文件添加到测试目标来成功进行单元测试,但感觉这应该不是必需的。有没有人能够成功地将@testa