草庐IT

watchkit2-extension

全部标签

swift - 未调用 WatchKit didReceiveApplicationContext

我无法调用didReceiveApplicationContext。有什么想法吗?接口(interface)Controller:importWatchKitimportFoundationimportWatchConnectivityclassInterfaceController:WKInterfaceController,WCSessionDelegate{@IBOutletvarcolorLabel:WKInterfaceLabel!privateletsession:WCSession?=WCSession.isSupported()?WCSession.defaultSes

ios - WatchKit - 如何在首次启动时获取数据?

我创建了一个watch应用程序,但在第一次打开时向watch发送数据时遇到问题。我第一次强调是因为一旦打开watch上的应用程序,手机就会负责更新应用程序上下文,因此手机始终会发起连接。这部分工作正常。但是,第一次打开watch应用程序时,我希望watch应用程序启动连接并向手机应用程序请求数据。我无法让它工作......我一直在尝试通过使用此从watch发送消息来让watch从IOS应用程序请求数据:if(WCSession.defaultSession().reachable){WCSession.defaultSession().sendMessage(infoDictionar

swift - 如何检查代码是否在 Today Extension 或 App 中运行

由于UIApplication.sharedApplication()在iOS8今天的小部件/扩展中不可用,我如何动态检查代码当前是作为小部件还是应用程序运行?运行应用程序时,我想调用例如UIApplication.sharedApplication().registerUserNotificationSettings(settings)当运行与小部件相同的代码时,这应该被跳过。是否可以对此进行检查? 最佳答案 为您的扩展制作一个单独的前缀文件,在前缀文件中定义一个未在应用程序前缀文件中定义的宏。然后检查这个宏是否被定义会告诉你你是

ios - 如何在 Action Extension 中将 NSSecureCoding 转换为 MKMapItem

我正在尝试为我的应用制作一个Action扩展,用户可以在其中添加他的当前位置以及一些其他数据。在与AppleMapsApp共享位置后,我调试了扩展程序,发现Maps发送了四个提供程序,内容如下:所选地点的名片所选位置的ApplemapURL纯文本,即所选位置的名称一个MKMapItem以上内容均为NSSecureCoding类型。强制转换为Data并使用vCard的数据初始化String,为纯文本和url的String从NSSecureCoding成功,但我没有找到了一种方法,可以根据我收到的数据创建一个MKMapItem对象。这是我尝试过的:provider.loadItem(for

swift - WatchKit Extension Bridging Header 错误(在 Swift 项目中)

我在我的项目中使用了Parse框架,它在我的主应用Bridging-Header上面工作正常,没有错误,但是当我尝试在我的WatchKit扩展Bridging-Header中使用它时,我遇到了各种错误。知道为什么会发生这种情况吗?我想在我的watch应用程序中使用Parse框架。这是一个Swift项目,我通过添加一个名为Misc的虚拟Objective-C文件来创建桥接header。 最佳答案 watchOS没有与iOS相同的框架。您将无法在WatchKit中使用ParseSDK。 关于

swift - WatchKit界面图片显示错误图片

我在WatchKit中看到一个错误,当以编程方式或从Storyboard中按名称分配时,它会显示错误的图像。我在这里做错了什么吗?如何重现将图像添加到WatchKit应用,名称为image_1.png和image_10.png。设置第一张图片为界面图片:image.setImageNamed("image_1")预期行为显示第一张图片image_1.png。实际行为显示第二张图片image_10.png。在Xcode中测试版本6.2(6C131e)6.3版(6D532l)演示https://github.com/evgenyneu/watch-image-glitch-demo更新此错

ios - Swift - 标签未在 WatchKit 中从委托(delegate)回调中更新

我知道第一个问题是“您是否在主线程中运行代码”,答案是肯定的,我是。我有一个界面Controller呈现模态,我使用委托(delegate)回调来关闭模态并更新文本标签。这是代码:委托(delegate)已声明//SetFooInterfaceController.swiftprotocolSetFooInterfaceControllerDelegate:class{funcsetFooInterfaceControllerDelegateDidTapSetFoo(foo:Int)}呈现的VC将自身作为上下文传递,以便可以设置委托(delegate)://SetFooInterfac

swift - WatchKit_Extension.InterfaceController 没有实现委托(delegate)方法

我正在尝试使用一个简单的应用程序学习watchkit连接,并花了两天时间研究这个错误,但徒劳无功:{appname}_WatchKit_Extension.InterfaceController没有实现委托(delegate)方法。我从“SimpleWatchConnectivity”中盲目地复制代码https://developer.apple.com/library/content/samplecode/SimpleWatchConnectivity/Listings/SimpleWatchConnectivity_WatchKit_Extension_InterfaceContr

ios - 如何在 Swift WatchKit 中捕获表格行的按下操作?

我目前有一个包含一些动态行的表格。当我运行项目时,行显示在屏幕上,甚至有一个按下动画,但xcode不允许我将表行作为IBAction连接到它的Controller。在这种情况下我不能使用segue,它需要像按下按钮一样,但最好是在整个表上,我不想在其中插入按钮。感谢任何帮助,谢谢! 最佳答案 您想覆盖table:didSelectRowAtIndex函数。它是WKInterfaceController上的一个方法。overridefunctable(table:WKInterfaceTable,didSelectRowAtIndex

swift - "Extensions may not contain stored properties"除非你是苹果?我错过了什么?

为什么Apple可以做到这一点:importCoreGraphicsimportGameplayKitimportsimd/**@headerSceneKitframeworkcategoryadditionsrelatedtoGameplayKitintegration.@copyright2017Apple,Inc.Allrightsreserve.*/extensionSCNNode{/***TheGKEntityassociatedwiththenodeviaaGKSCNNodeComponent.**@seeGKEntity*/@available(OSX10.13,*)we