标签: watchkit

如何以编程方式设置WKInterfaceController的backgroundColor?

我找不到任何方式以编程方式更改Watch应用程序界面的整体背景颜色.

因此,我尝试创建一个全屏WKInterfaceGroup并更改它的backgroundColor.

    centralGroup.setBackgroundColor(UIColor(red: 1.0, green: 1.0, blue: 1.0, alpha: 1.0))
Run Code Online (Sandbox Code Playgroud)

但是,我仍然在边框上有未填充的圆角和线条.

在此输入图像描述

有没有办法实现我的目标,填充屏幕的边缘到边缘的背景颜色?

watchkit

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

WatchKit:以编程方式设置WKInterfaceImage

我想将我的UIImage设置为WKInterfaceImage,但模拟器只显示黑屏.它可以正常使用 setImageNamed: NSString*方法,但不能使用setImage: UIImage*.我的file1.png被添加到"(App Name)WatchKit App"文件夹中.

- (void)willActivate {
   [self.imageView1 setImage: [UIImage imageNamed: @"file1"]]; // doesn't work
   [self.imageView1 setImageNamed: @"file1"]; // works OK
    [super willActivate];
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

apple-watch watchkit

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

Apple Watch:从基于页面的导航呈现模态屏幕后,状态栏不可见

当我在基于页面的导航中从页面呈现模态屏幕时,整个屏幕向上移动并且状态栏不再可见.
这是一个问题的GIF:

在此输入图像描述

我正在使用xCode 6.2版本.
这不是在xCode 6.2 Beta 4中发生的.
我不确定这是否是模拟器问题,或者这实际上也会发生在真实设备上.

有没有人有同样的问题?有解决方法吗?

我向苹果报告了一个错误(20109240)并且它被标记为(19862945)的副本,并且它仍然是开放的.
提前致谢

ios apple-watch watchkit

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

在WatchKit中的接口控制器之间传递数据

如何使用Swift将存储在标签中的数据从我的接口控制器传递到WatchKit中的另一个接口控制器?我似乎无法在任何地方找到答案,希望有人在这里可以帮助我.我已经包含了我的代码部分,它涉及计算我需要传递的值.我基本上想要显示用户计算的相同值,并在下一个名为ResultsController的接口控制器中详细说明.非常感谢任何帮助:D

class InterfaceController: WKInterfaceController {
     var currentValue: String = "0"

     func setDisplayValue(value: Double)
    {
        var percent = value
        //  check if value is an integer
        if value % 1 == 0
        {
            // our value is an integer
            currentValue = "\(Int(value))"// new value %
        }
        else
        {
            // our value is a float
            currentValue = "\(value)"
        }
        // Display 2 decimal places in final amount
       var round =  NSString(format:"%.2f", value)
        displayLabel.setText("$\(round)") // Display final value
        // This value is what …
Run Code Online (Sandbox Code Playgroud)

ios segue swift watchkit

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

WatchKit应用程序因"无法安装"而被拒绝

我用随附的Apple Watch应用程序构建了一个iOS应用程序,最近将其提交到App Store.今天早上,因未能安装而被拒绝.以下是重现的步骤:

  1. 在iPhone上安装应用程序
  2. 启动随播应用
  3. 切换"在Apple Watch上显示应用程序"开关
  4. 该应用程序尝试在Apple Watch上安装
  5. 未安装的Apple Watch和应用程序上显示错误消息.
  6. 随播应用中的切换开关设置为"关闭"

显然,我没有Apple Watch来测试它,但它在模拟器中工作正常(并且在Apple Watch模拟器上安装得很好).也许这与我在提交前的签名方式有关?有没有人遇到同样的问题?

以下是Apple Watch上报告的错误消息(由Apple的审核小组提供给我):

应用验证失败

appstore-approval ios watchkit

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

为什么WKInterfaceTable的方法rowControllerAtIndex返回nil?

当我运行下面的代码时,返回的方法rowControllerAtIndexWKInterfaceTablenil.

[self.outletTable setNumberOfRows:numberOfCategoriesToShow withRowType:@"rowTypeLabel"];
RowControllerTypeLabel *theRow = [self.outletTable rowControllerAtIndex:rowInTable];
Run Code Online (Sandbox Code Playgroud)

我检查了什么:

  1. 我已经在故事板中的行和界面中的相应属性之间建立了连接RowControllerTypeLabel.
  2. 我已将Custom Class标签的字段设置为我的自定义类RowControllerTypeLabel.
  3. 我还在故事板中的表和我的接口控制器界面中的相应属性之间建立了连接.

我错过了什么?

objective-c ios watchkit wkinterfacetable

10
推荐指数
3
解决办法
1701
查看次数

如何防止Apple Watch入​​睡?

我们正在开发一个Apple Watch项目,但如果不间断的话,手表会进入睡眠状态.

有什么方法可以阻止它进入睡眠状态吗?

xcode swift apple-watch watchkit watchos-2

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

仅当Watch app\extension从手表中至少打开一次时,动态通知界面才有效

目前Apple Watch中有3种通知:

  • Short - 你根本无法自定义这些.
  • Static - 您可以在故事板上自定义这些.
  • Dynamic - 可以使用Notification有效负载上没有的新数据自定义UI元素.

这是问题(项目正在使用Watch OS 1),如果应用程序从未打开Apple WatchStatic通知将显示而不是Dynamic一个,日志将显示错误

花太长时间显示自定义通知.回归静止

我已经删除了通知代码ViewController,除了这个:

-(void)didReceiveRemoteNotification:(NSDictionary *)remoteNotification withCompletion:(void (^)(WKUserNotificationInterfaceType))completionHandler 
    {
        completionHandler(WKUserNotificationInterfaceTypeCustom); 
    }
Run Code Online (Sandbox Code Playgroud)

我仍然得到这个错误.

我必须澄清,应用程序从手表运行至少一次后,每件事情都按预期工作,并且Dynamic通知界面显示正常.

我仔细检查过的事情:

  • 手表电池高于70%
  • 这是我的唯一代码 didReceiveRemoteNotification
  • WKUserNotificationInterfaceController 子类连接到我的storyboard文件中的Dynamic interface Controller

我已经在Apple文档中搜索了一些可以验证此行为但无法找到相关内容的内容.起初我认为我的应用程序没有正确配置某些东西但后来发现这在我尝试的所有Apple手表应用程序中都很常见.

重现步骤:

  1. 下载从未在您的设备上安装且使用动态通知的Apple Watch应用程序.(我在Telegram和Outlook上测试了这个例子)
  2. 请勿通过手机从手表中打开应用程序.
  3. 向您发送推送通知.
  4. 通知将到达您的手表,Static notification并且设备日志将显示"太长时间以显示自定义通知.回退到静态"错误.
  5. 从手表中打开应用程序并发送另一个通知.这将到达Dynamic.

Watch应用程序打开后至少一次以上很难重现.从手机删除应用程序并观看并重新安装所有内容仍然会显示Dynamic通知.

有人经历过吗?

有没有办法显示动态通知而无需在手表上至少打开一次应用程序?

objective-c push-notification ios apple-watch watchkit

10
推荐指数
0
解决办法
637
查看次数

使用suiteName检测NSUserDefaults中的更改

在我的项目中,我使用app group将数据传输到apple watch!这看起来像这样

let sharedDefaults = NSUserDefaults(suiteName: "group.com.myappname.defaults")
sharedDefaults?.setObject(MyData, forKey: "DataKey")
sharedDefaults?.synchronize()
Run Code Online (Sandbox Code Playgroud)

在WKInterfaceController中,我使用以下代码获取数据:

let sharedDefaults = NSUserDefaults(suiteName: "group.com.myappname.defaults")
let MyData = sharedDefaults?.objectForKey("DataKey") as! [[AnyObject]]
Run Code Online (Sandbox Code Playgroud)

一切正常!

现在我尝试检测sharedDefaults中的数据?.objectForKey("DataKey")是否确实发生了变化.我尝试使用addObserver方法:

override func willActivate() {
NSUserDefaults(suiteName: "group.com.myappname.defaults")!.addObserver(self, forKeyPath: "DataKey", options: NSKeyValueObservingOptions.New, context: nil)
}

override func observeValueForKeyPath(keyPath: String?, ofObject object: AnyObject?, change: [String : AnyObject]?, context: UnsafeMutablePointer<Void>){
      print("Data Changed")
}
Run Code Online (Sandbox Code Playgroud)

但是"覆盖func observeValueForKeyPath"仅在WKInterfaceController激活时调用,并且当我在NSUserDefaults中更改数据时没有调用(suiteName:"group.com.myappname.defaults")

我也尝试使用NSNotificationCenter:

override func willActivate() {
let sharedDefaults = NSUserDefaults(suiteName: "group.com.myappname.defaults")
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(userDefaultsDidChangeNotificationMethod(_:)), name: NSUserDefaultsDidChangeNotification, object: nil)
}

func userDefaultsDidChangeNotificationMethod(notification: NSNotification){
 print("Data Changed") …
Run Code Online (Sandbox Code Playgroud)

nsuserdefaults ios swift watchkit watchos-2

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

与Focus相关的选择器控制方法

我有一个带有a的iOS + Watch应用程序UIPicker,并且我不断得到与之相关的日志,我无法弄清楚与Watch应用程序相关:

[默认] - [SPRemoteInterface handlePlistDictionary:fromIdentifier:]:2977:ComF: - >插件方法.pickerFocus未由控制器实现(null)

[default] - [SPRemoteInterface handlePlistDictionary:fromIdentifier:]:2977:ComF: - >插件方法.pickerClearFocus未由控制器实现(null)

我检查了文件和我能找到的最接近的是刚刚的pickerDidFocus()方法,这似乎是在谈论我有一般问题区,但对于具体没有明确的实施思路.pickerClearFocus.pickerFocus.

uipickerview ios swift watchkit

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