标签: apple-watch

从WatchKit中的模态视图传回数据

当模态呈现或推送接口控制器时,我们可以指定context参数以将一些数据传递给新控制器,如下所示.

// Push
[self pushControllerWithName:@"MyController" context:[NSDictionary dictionaryWithObjectsAndKeys:someObject, @"someKey", ..., nil]]; 

// Modal
[self presentControllerWithName:@"MyController" context:[NSDictionary dictionaryWithObjectsAndKeys:someObject, @"someKey", ..., nil]]; 
Run Code Online (Sandbox Code Playgroud)

我的问题是,我们怎么能这样做呢?

假设我们以模态方式呈现一个控制器,以便用户从列表中选择一个项目,然后我们返回主控制器,我们如何获取已被选中的项目?

ios apple-watch watchkit

30
推荐指数
2
解决办法
1万
查看次数

将数据传递到Apple Watch应用程序

我正在尝试将数据从我的应用程序传递到Apple Watch应用程序中.基本上,我使用的方法与我用于创建今天小部件的方法相同,因此我通过NSUserDefaults传递数据.

问题是,当我运行我的应用程序时,数据不会像我预期的那样更新Watch应用程序中的标签.

这是我的......

override init(context: AnyObject?) {
    // Initialize variables here.
    super.init(context: context)

    // Configure interface objects here.
    NSLog("%@ init", self)

    var defaults = NSUserDefaults(suiteName: "group.AffordIt")
    var totalBudgetCalculation = ""
    if (defaults!.stringForKey("totalBudgetWidget") != nil) {
            println("Worked")
        totalBudgetCalculation = defaults!.stringForKey("totalBudgetWidget")!
        initialBudgetLabel.setText("Initial: \(totalBudgetCalculation)")
    }

    var currentBudgetCalculation = ""
    if (defaults!.stringForKey("currentBudgetWidget") != nil) {
        currentBudgetCalculation = defaults!.stringForKey("currentBudgetWidget")!
        currentBudgetLabel.setText("Current: \(currentBudgetCalculation)")
    }
}
Run Code Online (Sandbox Code Playgroud)

我尝试将此代码放入其中willActivate(),但这似乎没有任何区别.

谁知道我哪里错了?

nsuserdefaults ios swift apple-watch watchkit

28
推荐指数
4
解决办法
2万
查看次数

适用于Force Touch/Digital Crown的WatchKit API?

我对Apple Watch引入的新用户交互可能性感到非常兴奋,其中包括Force Touch和Digital Crown.

但是,我在WatchKit API中找不到它们.有没有办法接收Force Touch/Digital Crown的活动?是否可以为事件提供自定义处理程序?

user-interaction ios apple-watch watchkit

26
推荐指数
4
解决办法
8452
查看次数

Xcode附加到进程不显示NSLog

我刚刚开始使用Apple Watch.我发现了" Five Minute Watchkit "中的说明,即让iOS应用程序和监视工具包应用程序都在模拟器中运行,并且两个进程都连接到LLDB调试器.

我所做的是启动并退出iOS应用程序以在SIM中安装当前版本.然后我切换到watchKit方案并启动它,它在手表模拟器上显示我的手表应用程序UI.

然后我在模拟器中启动相应的iOS应用程序,然后用户在Xcode菜单中"附加到进程",将调试器附加到正在运行的iOS应用程序.

这有效.我可以在监视工具包InterfaceController或我的iOS应用程序中设置断点,调试器会在应用程序中断.

但是,我没有在我的iOS应用程序的调试控制台中看到NSLog()语句.(我确实看到来自WatchKit扩展代码的日志语句.)如果我在我的iOS应用程序中设置断点,它确实会在该断点处停止.我假设缺少来自NSLog的控制台输出有关SOMETHING与附加到sim上的正在运行的进程而不是从Xcode启动它,但我不知道那是什么.

(顺便说一句,将动作附加到从断点调用NSLog的断点也不会显示,但是"日志消息"调试器命令会显示.有人有任何见解吗?)

编辑:iOS应用程序中的代码似乎并不重要.就我而言,这是一个简单的IBAction,它附加在iOS应用程序故事板中的按钮上:

- (IBAction)buttonAction:(UIButton *)sender;
{
  NSLog(@"Button clicked on iPhone");
}
Run Code Online (Sandbox Code Playgroud)

我可以在NSLog语句上设置断点.调试器在该行停止,但我没有在调试控制台中看到日志语句.

xcode objective-c ios apple-watch

25
推荐指数
3
解决办法
2万
查看次数

如何自动设置Watchkit应用程序目标的版本和内部版本号

Watchkit应用程序和扩展的版本和内部版本号(或版本和简短版本)必须设置为与包含应用程序相同的值.

我使用环境变量Info.plist在构建时动态设置应用程序版本.这也适用于Watchkit扩展,但不适用于Watchkit应用程序.

我使用的环境变量必须在主应用和扩展的plist中提供${}(对于${VERSION}我设置的变量VERSION).
如果我为Watchkit应用程序执行相同的操作,它将获取字符串本身,而不是值.如果我提供美元和括号,变量中没有数据.

知道如何设置Watchkit应用程序的变量吗?

ios apple-watch watchkit

25
推荐指数
7
解决办法
1万
查看次数

WatchKit扩展背景刷新的Apple示例代码

很长一段时间以来,我一直在寻找这个问题的答案,所以我想我愿意冒一些downvotes来发布它.

基本上,我想让Apple提供的Apple Watch后台刷新示例代码实际工作(链接和代码如下).

我已经在模拟器和带有Apple Watch Series 2的iPhone 6s上尝试过,后台任务从未成功完成到时间更新的地步.我已经尝试将手表应用程序固定到扩展坞,我已经尝试将应用程序保留在前台并将其发送到后台,无论是在模拟器中还是在实际的手表上.我甚至尝试等待将近一年时间,看看Xcode或Apple Watch是否会收到更新,以确保其正常运行.

有没有人成功修改Apple提供的代码才能使其正常工作?

你可以在这里下载整个runnable示例项目: WatchBackgroundRefresh:使用WKRefreshBackgroundTask在后台更新WatchKit应用程序

 /*
 Copyright (C) 2016-2017 Apple Inc. All Rights Reserved.
 See LICENSE.txt for this sample’s licensing information

 Abstract:
 The main interface controller.
 */

import WatchKit
import Foundation


class MainInterfaceController: WKInterfaceController, WKExtensionDelegate, URLSessionDownloadDelegate {
    // MARK: Properties

    let sampleDownloadURL = URL(string: "http://devstreaming.apple.com/videos/wwdc/2015/802mpzd3nzovlygpbg/802/802_designing_for_apple_watch.pdf?dl=1")!

    @IBOutlet var timeDisplayLabel: WKInterfaceLabel!

    private let dateFormatter: DateFormatter = {
        let formatter = DateFormatter()
        formatter.dateStyle = .none
        formatter.timeStyle = .long

        return formatter
    }()

    // MARK: WKInterfaceController

    override func …
Run Code Online (Sandbox Code Playgroud)

iphone ios swift apple-watch

25
推荐指数
1
解决办法
2946
查看次数

观看os 2.0 beta:获取心跳率

使用Watch OS 2.0开发人员应该被允许访问心跳传感器....我很想玩它并为我的想法构建一个简单的原型,但我无法找到关于任何地方的信息或文档此功能.

谁能指出我如何处理这项任务?任何链接或信息将不胜感激

ios apple-watch watchkit watchos

24
推荐指数
2
解决办法
1万
查看次数

如何在GitHub for iOS(SWIFT)项目中隐藏API密钥?

您好我正在尝试在GitHub中发布iOS(SWIFT)个人项目,但我害怕与所有人共享我的私有API密钥和秘密.

我正在使用解析,所以我在AppDelegate中有这样的东西:

let applicationId = "mySecretApplicationId"
let clientKey = "mySecretClientKey"
Parse.setApplicationId(applicationId!, clientKey: clientKey!)
Run Code Online (Sandbox Code Playgroud)

我想隐藏"mySecretApplicationId"和"mySecretClientKey",我的项目中是否有私有地方或目录,我可以放置这些变量?

谢谢!

api parsing ios swift apple-watch

24
推荐指数
1
解决办法
4588
查看次数

WatchOS:是否应在主线程上调用扩展的UI更新?

对于iOS应用程序,UI更新是专门从主线程完成的 - 不会这样做从不推荐,并且可能导致意外行为.

在watchOS中,操作系统的结构是手表扩展和应用程序 - 作为不同的"容器".通常,从扩展程序调用UI更新,这些更新在应用程序的容器中更新.

相同的主线程逻辑是否适用于从watch扩展更新UI,还是可以从后台调用UI更新?


编辑 - 带来一些清晰度.从应用程序的容器中,UI更新可能应该发生在主线程上(如大多数系统/操作系统中所发生的那样,如下所述).问题是watchOS是否为我们处理,即是否在扩展的后台线程上调用UI更新将自动发布到应用程序容器的主线程中.

ios swift apple-watch watchkit watchos-2

24
推荐指数
1
解决办法
1350
查看次数

防止 Xcode 在为 iOS 运行时准备 Apple Watch

我有一个 iOS 应用程序,想在我的个人 iOS 设备上测试。我还佩戴了一块与这部 iPhone 正常连接的 Apple Watch。

我没有故意在我的 Xcode 项目中创建任何类型的 Apple Watch 目标或代码。我不想在 Apple Watch 上运行或测试该应用程序。我还没有在 Xcode 中将 Apple Watch 设置为某种开发目标......它只是连接到我的 iPhone。

尽管如此,Xcode 仍然不断尝试让我的 Apple Watch 与 iPhone 一起进行开发。它会延迟在 iPhone 上运行 iOS 应用程序,以便它可以从 Watch 上“准备”和“获取”各种内容。这些旋转器永远不会结束,因此我无法将 iOS 应用程序部署到 iPhone。

iPhone 正忙:准备通过 iPhone 开发 Apple Watch


iPhone 正忙: iPhone 完成后,将继续通过 iPhone Xcode 准备 Apple Watch 进行开发。

iPhone 正忙:正在获取与 iPhone 配对的 Apple Watch 的调试符号

获取手表的调试符号
安装 watchOS 7.4 的符号

通过 iPhone 的 Apple Watch:无法准备设备进行开发。
如果设备上的操作系统版本与安装的 Xcode 版本不兼容,此操作可能会失败。您可能还需要重新启动 Mac 和设备才能正确检测兼容性。

如何才能完全隐藏此 Apple Watch 不被 Xcode 看到?禁用 Watch 上的任何类型的开发?将 …

xcode ios apple-watch

24
推荐指数
1
解决办法
8182
查看次数