标签: watchos-2

iOS Storyboard 不支持目标设备类型“watch”

我正在使用 Xcode 7.2、WatchOS 2.1。我有以下问题

Base.lproj/Main.storyboard: iOS storyboards do not support target device type "watch".
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

xcode7 watchos-2

2
推荐指数
2
解决办法
3026
查看次数

保持核心数据与多个手表同步

我正在编写 iPhone 和 Watch 应用程序。我计划支持将多个手表与手机配对的功能。

iPhone 和 Watch 应用程序都将读取和写入核心数据数据存储,我将使用WatchConnectivity它们来保持同步(使用transferUserInfo:)。用户将在一个设备上书写/口述某些内容,然后它会出现在另一台设备上。

我正在努力弄清楚如何支持多个手表。鉴于以下场景:

  • 用户正在使用电话/手表A
    • 在一天中,用户添加了 10 个项目
  • 一天结束,他们切换到 WatchB

WatchB 如何与 Phone/WatchA 同步?

  • WKSession 会自动重放transferUserInfoWatchA 配对时的调用吗?
  • 我是否需要以某种方式跟踪 WatchB 需要的所有内容并自己重播所有内容?
  • 我是否只使用transferFileAPI发送整个 sqlite 数据库(这似乎有点多)?

ios watchkit watchos watchos-2 watchconnectivity

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

使用openSystem API从Apple Watch打来的电话?

当我观看WWDC 2015会话视频"WatchOS 2的WatchKit介绍"(13:29)时,我看到可以使用openSystem API直接在Apple Watch上拨打电话.如何在Swift中使用此API?

phone-call ios watchkit watchos watchos-2

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

iOS/watchos2 - 为什么不session:didReceiveApplicationContext:fire?

我已经阅读了下面的q/a,这很棒.这正是我在测试项目中所做的,它运行正常.

我现在已经创建了我的真实项目,但是在Watch扩展中,session: didReceiveApplicationContext:不会触发.

这是我的发送代码:

-(void)sendPlistToWatch:(NSMutableDictionary *)dictionary {
    NSLog(@"%s", __FUNCTION__);
    if ([WCSession defaultSession]) {
        NSDictionary *applicationDict = @{@"Favorites.plist":dictionary};
        [[WCSession defaultSession] updateApplicationContext:applicationDict error:nil];

        NSLog(@"sent dictionary");
    } else {
        NSLog(@"not paired");
    }
}
Run Code Online (Sandbox Code Playgroud)

这是手表上的接收代码:

- (void)awakeWithContext:(id)context {
    [super awakeWithContext:context];

    if ([WCSession isSupported]) {
        [self.session activateSession];
        self.session = [WCSession defaultSession];
        self.session.delegate = self;
    }
}

- (void)willActivate {
    [super willActivate];
}

- (void)didDeactivate {
    [super didDeactivate];
}



- (void)session:(nonnull WCSession *)session didReceiveApplicationContext:(nonnull NSDictionary<NSString *,id> *)applicationContext {
    NSString *string = [applicationContext objectForKey:@"dictionary"];

    NSMutableDictionary …
Run Code Online (Sandbox Code Playgroud)

session ios watchos-2

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

从函数中检索结果(Swift/WatchOS 2)

我有一个问题很可能是一个概念问题,但我希望有人可以指出我正确的方向.我正在尝试使用新的WCSession*didReceiveMessage*从我的WatchKit扩展中的iOS应用程序接收数据字典.当我打印收到的消息时,我正在接收数据,但我无法对函数外的这些数据做任何事情(例如填充WKInterfaceTable,这是我的最终目标).

InterfaceController.swift(WatchOS):

class InterfaceController: WKInterfaceController, WCSessionDelegate {

var session : WCSession!
var files = [String]()

@IBOutlet var fileTable: WKInterfaceTable!

override func awakeWithContext(context: AnyObject?) {
    super.awakeWithContext(context)

    // Configure interface objects here.
    startSession()
    reloadTable()
}

private func startSession() {
    if (WCSession.isSupported()) {
        session = WCSession.defaultSession()
        session.delegate = self
        session.activateSession()
        print("activated session")
    }
}

override func willActivate() {
    // This method is called when watch view controller is about to be visible to user
    super.willActivate()   
}

func session(session: WCSession, didReceiveMessage message: [String : …
Run Code Online (Sandbox Code Playgroud)

function swift watchos-2

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

观看Images.xcassets和WatchKit Extension中的OS和OS2差异?

我有一个适用于Watch OS的应用程序,它使用以下代码设置组的背景,图像位于WatchKit中的Images.xcassets中:

scalaImageName = [NSString stringWithFormat:@"scalaMHR%d", imageNumber];
[self.mainGroup setBackgroundImageNamed:scalaImageName];
Run Code Online (Sandbox Code Playgroud)

如果我在监视OS2下运行应用程序,我收到错误消息:MyApp WatchKit Extension [325:28425]无法在Watch上找到名为"scalaMHR1"的图像

手表OS2有什么变化吗?

apple-watch watchos-2

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

像watchOS 2中的共享NSUserDefaults和App Groups?

我目前正在为watchOS 2更新我的应用程序,并且在设备之间的通信方面遇到了一些麻烦:之前我一直在使用共享的NSUserDefaults来启用Watch和iOS设备,以便独立地从一个App Group读取和写入多个值.

现在watchOS 2应用程序在Watch上本地运行,Watch Connectivity Framework取代了之前的通信选项,这似乎不再适用.但是,从我在参考文献中看到的内容来看,实现与WatchOS 1中使用Watch Connectivity相同的功能相当麻烦......

有没有其他选择让我创建某种容器/文件/数据库/我可以从我的Watch应用程序和相关的iOS应用程序访问和更新?

nsuserdefaults swift ios-app-group watchos-2

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

如何在watchOS中获取接口控制器的实时实例?

在我的中ExtensionDelegate,我想获取我的一个接口控制器的实例。我正在使用基于页面的导航。

例如,我可以这样做iOS

if let controller = self.tabBarController?.viewControllers?[1] as? TimesController {
 controller.myVariable = nil
}
Run Code Online (Sandbox Code Playgroud)

我该怎么做watchOS

swift watchos swift2 watchos-2

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

结合WatchConnectivity和复杂功能

我希望我的并发症能够通过Watch Connectivity从iPhone获取数据。我正在使用sendMessage即时消息技术。

我不希望在尝试获取数据时打开iPhone应用程序,因此这需要在后台进行。

在我的iPhone上的ViewController中:

import UIKit
import WatchConnectivity

class ViewController: UIViewController, WCSessionDelegate {

var session: WCSession!

override func viewDidLoad() {
    super.viewDidLoad()
    if WCSession.isSupported() {
        self.session = WCSession.defaultSession()
        self.session.delegate = self
        self.session.activateSession()
    }
}

func session(session: WCSession, didReceiveMessage message: [String : AnyObject], replyHandler: ([String : AnyObject]) -> Void) {
    if message.count != 1 { return }

    if message["request"] != nil {
        replyHandler(["response" : "data"])
    }
}
Run Code Online (Sandbox Code Playgroud)

在我的ComplicationController中

var session: WCSession!

func getCurrentTimelineEntryForComplication(complication: CLKComplication, withHandler handler: ((CLKComplicationTimelineEntry?) -> Void)) { …
Run Code Online (Sandbox Code Playgroud)

swift watchos-2 apple-watch-complication watchconnectivity wcsession

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

是否可以将Xamarin ios App连接到swift watchOS Extension

我已经在swift下开发了WatchOSExtension,是否可以将它连接到一个新开发的xamarin ios项目?

xamarin.ios ios xamarin watchos-2

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