Tag: watchkit

默认情况下iPhone的应用程序通知是否会在Apple Watch上触发,甚至无法创build实际的Watch应用程序?

我希望在Watch刚发布的第一时间就支持Apple Watch中的iPhone本地通知,但是我并不打算制作Watch应用程序。 从我所研究的看来,iPhone的通知似乎会自动支持Watch,而不需要任何额外的开发或WatchKit实现。 应用程序不需要做任何事情来支持通知。 系统提供一个默认的通知界面,显示来自通知的警报消息。 但是,应用程序可以自定义通知界面,并包含自定义graphics,内容和品牌。 它是否正确? 如果是这样的话: 1.手表上的通知是否有动作button,就像configuration为iPhone应用程序? 2.有什么办法可以在模拟器上testing,确保它能按预期工作吗? 如果没有: 3.有没有什么方法可以在不创buildWatch应用程序的情况下仅支持通知? 这是迄今为止我发现的更相关的问题,但这不是我正在寻找的。 如何使用WatchKit触发通知

核心数据与WatchKit和iOS应用程序

这个问题已经被问到,但没有收到答案 。 我的iOS应用程序和我的WatchKit扩展共享一个核心数据存储保持的应用程序组。 核心数据模型(简化)是一个Person对象,具有Age的属性。 应用程序和扩展程序都可以随意更改年龄。 如果某人的价值在手表上发生了变化,那么除非我closures并重新运行该应用程序,否则该应用程序不会反映该值。 同样走向相反的方向。 如果我尝试将手表的年龄更改为20岁,并将手机的年龄更改为30岁,那么我会遇到与合并冲突有关的错误,因为我没有使用最新版本的在其中一个设备上的NSManagedObject(无论我最后更改年龄)。 我怎样才能使这两个工作在一起没有任何问题?

Xcode Watchkit:所有有效的configuration文件都不允许指定的权利:beta-reports-active,com.apple.security.application-groups

是的,我知道这些问题中有很多是浮动的,我知道所有这些问题的答案是: login到开发人员中心 转到标识符,configuration文件等 点击编辑,然后在configuration文件中生成 那对我没有用! 我在Xcode 6.4 Beta 1和WatchKit中开发了我的应用程序。 我尝试提交它,但看到这个错误后,我想也许我应该尝试提交一个nonbeta版本的Xcode。 顺便说一下,这个错误是: 所以我回到Xcode 6.3,不是beta Xcode,并尝试再次提交。 它做了同样的事情! 然后,我仍然在Xcode 6.3中创build了另一个项目,只是将我的代码复制并粘贴到一个不是beta版的项目中。 我保持相同的捆绑ID和一切。 我仍然有同样的结果。 所以我不知道该怎么做! 我一直在这个工作了一整天,苹果手表在5天内发布,我不能错过! 所以请帮助! 我努力了: 重新启动Beta Xcode和Normal Xcode 注销并重新login(在Mac桌面上,我的意思是) 在正常的开发人员门户上重新生成configuration文件 使用相同的代码创build新项目 请帮忙! 我提前谢谢你!

embedded式二进制validation实用程序错误

从昨天开始,Xcode在试图在我的iPhone上运行我的WatchKit应用程序的时候做了些愚蠢的事情。 它给了我错误: embedded式二进制validation实用程序错误 错误:警告:是一个目录 这不是很有帮助,它似乎在抱怨为我的Watchkit扩展目标configurationconfiguration文件。 我想我按照这个答案正确设置它。 这是我如何设置我的个人资料。 三个App ID和六个configuration文件(三个用于开发,三个用于分布)。 主应用程序: WatchKit扩展: WatchKit Watch App:

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

Watchkit应用程序和扩展的版本和内部版本(或版本和简短版本)必须设置为与包含应用程序相同的值。 我使用环境variables在构build时dynamic地设置Info.plist的应用程序版本。 这也适用于Watchkit扩展,但不适用于Watchkit应用程序。 我使用的环境variables必须在plist中为主应用程序和扩展提供,而不使用${} (对于variables${VERSION}我设置了VERSION )。 如果我为Watchkit应用程序做同样的事情,它将采取string本身,而不是价值。 如果我提供了美元和括号,variables中没有数据。 任何想法如何设置Watchkit应用程序的variables?

无效Apple Watch图标文件名称必须匹配模式“* <dimension> @ <scale> x.png”

我试图提交更新到我的应用程序,以包括Apple Watch的function,但是无论何时validation构build,我都会在下面的屏幕截图中看到详细的错误。 看看底部错误我的文件名似乎是匹配的模式,所以我不明白是什么问题。 如果我能得到1个图标的正确模式,那么我可以全面应用相同的逻辑,但是我没有太多的运气。 其他人遇到过这个问题吗?

使用watchOS 2在Apple Watch上绘制折线图

我正在尝试使用watchOS 2在Apple Watch上渲染线/步图。与iOS 9不同,watchOS 2不支持Quartz。 它只支持Core Graphics。 我试图写一些代码来绘制一个线图,但是我得到一个错误“CG​​ContextRestoreGState:invalid context 0x0。这是一个严重的错误。这个应用程序,或者它使用的一个库,正在使用一个无效的上下文,从而有助于整体系统稳定性和可靠性的降低,这是一个礼节性的问题:请解决这个问题,在即将到来的更新中,这将成为一个致命的错误。 以下是我使用的代码片段: import WatchKit import Foundation import UIKit class InterfaceController: WKInterfaceController{ override func awakeWithContext(context: AnyObject?) { super.awakeWithContext(context) let path = UIBezierPath() let startPoint = CGPointMake(0.0, 0.0) path.moveToPoint(startPoint) let nextPoint = CGPointMake(20.0, 20.0) path.addLineToPoint(nextPoint) path.lineWidth = 1.0 UIColor.whiteColor().setStroke() path.stroke() } override func willActivate() { super.willActivate() } override […]

iOS7和Apple Watch

我有一个最低的iOS目标iOS7的应用程序。 我正在考虑添加一些额外的function与苹果手表。 Theres是否可以select将iOS7作为最低目标,如果应用程序在iOS 8上运行,仍然会添加对Apple Watch的支持? 就像iOS8的扩展/小部件。 提前致谢

如何保证主机应用程序和扩展使用的共享应用程序容器中的核心数据存储中的唯一条目?

为了有效地提出我的问题,我们首先考虑一下我正面临的确切情况: 一般设置 主机iOS 8应用程序。 与主机应用程序捆绑在一起的一个或多个iOS 8扩展(WatchKit,Share等)。 主机应用程序和所有扩展在共享应用程序组容器中共享同一个Core Data SQLite存储。 每个应用程序/扩展都有自己的NSPersistentStoreCoordinator和NSManagedObjectContext。 每个持久性存储协调器都使用一个持久性存储,它与所有其他持久性存储共享组容器中相同的SQLite资源。 应用程序和所有扩展使用通用代码库来同步Internet上的远程API资源的内容。 导致问题的事件序列 用户启动主机应用程序。 它开始从远程API资源获取数据。 核心数据模型对象是基于API响应创build的,并“插入”到主机应用程序的托pipe对象上下文中。 每个API实体都有一个唯一标识,在远程API后端标识它。 通过“upsert”,我的意思是,对于每个API实体,如果无法find给定uniqueID的现有条目,则主机应用程序仅在Core Data中创build一个新条目。 同时,用户还启动了一个主机应用程序的扩展。 它也从相同的远程API执行某种获取。 它还尝试在parsingAPI响应时执行“upsert”。 问题:如果主机应用程序和扩展同时尝试为同一个API实体插入Core Data条目,会发生什么情况? 要看看这可能是怎么回事,让我们来看一个upsert的事件序列: 核心数据上传序列: APIparsing代码parsing给定API实体的唯一ID。 parsing器对任何与uniqueID等于parsing的uniqueID的谓词相匹配的条目执行Core Data提取。 如果找不到现有条目,parsing器将为此API实体插入一个新的Core Data条目,并将其uniqueID属性设置为parsing的uniqueID。 parsing器保存托pipe的对象上下文,这会将新的条目数据向下推送到SQLite后备存储。 问题详细 假设主机应用程序和扩展程序独立parsing同一API实体的API响应。 如果主机应用程序和扩展程序都在步骤3完成之前到达步骤3,则它们都将尝试为相同的唯一ID插入新的核心数据条目。 当他们到达第4步并调用save:在各自的被pipe理对象上下文中时,Core Data将快乐地创build重复的条目。 据我所知,核心数据没有任何办法来标记一个属性是唯一的。 我需要一个与SQLite INSERT OR IGNORE + UPDATE组合相当的核心数据。 。 否则,我需要一种方法来“locking”持久存储的SQLite后备存储,这听起来像是一个麻烦的秘诀。 有没有一种已知的方法来解决iOS 8扩展引入的这个相当新颖的问题?

在iOS 8中检测Apple Watch

我有一些事件只能在用户使用Apple Watch的时候触发。 有没有办法检测手表是否配对? 我不确定是否可以使用共享应用程序组来检测Apple Watch扩展程序,也可以使用蓝牙?