我正在构建一个使用动作控制的Apple Watch应用程序.现在,我正在寻找一种方法来让应用程序保持清醒,而无需用户与屏幕交互.有任何想法吗?
我想知道如何设计一个依赖于从服务器获取最新源的watchOS应用程序.您是否需要使用应用程序上下文并让iPhone在后台使用WatchConnectivity框架将其推送出来,或者您是否会在Apple Watch上使用NSURLSession?请记住,这是针对watchOS 2的.
我正在开发带有手表扩展程序(watchOS 2)的 iPhone 应用程序(iOS 9 测试版),并将数据从手表传递到手机,我正在使用 WCSession。
我有 2 个不同的视图控制器使用 WCSessions,因此对于每个控制器,我正在实例化新的 WCSession 对象。对于第一个视图控制器它工作正常,但是当我想在第二个视图控制器中接收消息时,仍然很少有初始消息被发送到第一个控制器。
在转到第二个控制器之前,有什么方法可以停用/禁用第一个视图控制器的会话?或者还有其他我应该考虑的选择吗?
谢谢!
我最近试图让 WatchKit 应用程序从 Apple Watch\xe2\x80\x99s 扬声器播放背景音效。\n根据我的经验(如果我\xe2\x80\x99m错了,请纠正我!)这是不可能的,因为我要么需要连接蓝牙耳机才能使用WKAudioFilePlayer,要么使用其他界面元素来播放声音(WKInterfaceMovie或presentMediaPlayerControllerWithURL:选项:完成)。
\n\n现在,我想使用 WKAudioFilePlayer 仅在连接蓝牙耳机时播放音频,以避免每次收到 \xe2\x80\x9ePair a 蓝牙耳机听音乐\xe2\x80\x9c-alert没有耳机可用的时间。
\n\n有什么方法可以查明蓝牙耳机是否已连接,以便我可以以此为条件设置音频播放?
\nWKInterfaceController我的Apple Watch应用程序中有两个子类.第一个是另一个的入口,它们nextPage与Interface Builder 的关系.对于awakeWithContext,willActivate并且didDeactivate在每个InterfaceController方法,我打印大家都出去了,而手表应用的启动.
我得到了这个输出:
awakeWithcontext -> First
awakeWithContext ?> Second
willActivate ?> First
willActivate -> Second
didDeactivate ?> Second
Run Code Online (Sandbox Code Playgroud)
然后我滑到下一个InterfaceController:
willActivate -> Second
didDeactivate ?> First
Run Code Online (Sandbox Code Playgroud)
所以现在的问题是:
awakeWithContext只要启动,Watch App中所有InterfaceControllers的所有方法都会被触发吗?
willActivate方法怎么样?
这似乎是whatchOS 2发行说明中描述的已知问题:
如果您没有在Watch Simulator上看到地图图块加载,请先在iOS模拟器中启动地图图块.之后,地图图块将加载.
我尝试了这些步骤,没有成功,地图总是显示一个空网格:
有人经历过这个吗?
提前致谢
我正在为 Apple Watch 开发一个计时器应用程序。
在特定时间(计时器结束),iPhone 会触发计划UILocalNotification,在不活动的 Apple Watch 上应触发触觉警报,告诉用户计时器已结束。
我这样做是因为一旦手表处于非活动状态,计时器就不会继续在 Apple Watch 上运行。
我面临的问题是:
a) 通知有时会显示在 iPhone 上而不是 Apple Watch 上(基于其他帖子,我担心这无法更改...)
b) 手表上没有触觉警报(纯粹显示通知,这仅在用户下次激活手表时,而不是在实际触发通知时)
func sendAwakeNotification(nextTime:NSDate) {
print("AppDelegate: - sendAwakeNotification")
dispatch_async(dispatch_get_main_queue()) { () -> Void in
let localNotification = UILocalNotification()
localNotification.fireDate = nextTime
localNotification.timeZone = NSTimeZone.defaultTimeZone()
localNotification.alertBody = "Finished Step"
localNotification.alertTitle = "Alert"
localNotification.soundName = UILocalNotificationDefaultSoundName
localNotification.category = "myTimer"
let userInfo: [NSObject : AnyObject] = [
"notification_id" : "myTimerNotification"
]
localNotification.userInfo = userInfo
UIApplication.sharedApplication().scheduleLocalNotification(localNotification)
}
}
Run Code Online (Sandbox Code Playgroud)
通知中的代码
override func …Run Code Online (Sandbox Code Playgroud) 我想将 AppleWatch-Extension 添加到我当前的 Projekt。我正在使用这个 podfile:
def shared_pods
pod 'RealmSwift', '2.0.2'
end
target 'Target-iOS' do
platform :ios, '9.0'
use_frameworks!
...
shared_pods
end
target 'Target-MensaWidget' do
platform :ios, '9.0'
use_frameworks!
shared_pods
end
target 'Watch Extension' do
platform :watchos, '2.0'
use_frameworks!
shared_pods
end
Run Code Online (Sandbox Code Playgroud)
之后pod install我会在我的控制台这样的警告:
[!] [Xcodeproj] Generated duplicate UUIDs:
Run Code Online (Sandbox Code Playgroud)
当我尝试构建项目时,出现此错误:
Undefined symbols for architecture i386:
"realm::BpTreeBase::replace_root(std::__1::unique_ptr<realm::Array, std::__1::default_delete<realm::Array> >)", referenced from:
Run Code Online (Sandbox Code Playgroud)
我还尝试在 Watch-Target 中使用 $(inherited)。
我正在使用 Xcode 7.3.1 和 pod 版本 0.39.0
有任何想法吗?
watchOS 2在其animateWithDuration函数中没有任何类型的完成块.我正在开发一款需要在动画完成后运行代码的游戏.有没有工作?也许使用键值观察?另一种方法是使用与动画长度相匹配的计时器,但由于显而易见的原因,这是非理想的.
作为标题,我想要确定是否WKInterfaceButton正常点击或强制点击.现在通过watchOS 2可以实现吗?
watchos-2 ×10
apple-watch ×7
watchkit ×6
ios ×4
swift ×3
bluetooth ×1
cocoapods ×1
dictionary ×1
mkmapview ×1
nsurlsession ×1
realm ×1
session ×1
watchos ×1
xcode ×1