草庐IT

UIBackgroundModes

全部标签

iphone - UIBackgroundModes 和 UIAccelerometer

我正在开发一个可以在后台运行的导航应用程序。由于将UIAccelerometer设置为location,所以工作正常。但我也想使用加速度计,以获取有关用户正在做什么的一些额外信息。但是,在后台时,UIAccelerometer不会调用它的委托(delegate)。有没有办法在后台获取当前加速度? 最佳答案 我自己找到了解决方案。在后台运行时确实可以获取加速度计数据。只需依赖CoreMotion框架,而不是UIAccelerometer类,顾名思义,UIAccelerometer类是用户界面相关的类。看到这个问题:HowNike+GP

ios - XMPPFramework - pubsub + 推送通知?

这更像是一个“是否可能”的问题。我正在使用XMPPFramework和Openfire为iphone构建一个pubsub应用程序。当用户在后台运行pubsub应用程序时,该应用程序每10分钟左右发送一次“保持事件”数据包以保持持久连接。发送的任何消息都将显示为本地通知。但是,如果用户关闭了该应用程序,或者自从他们使用该应用程序已经一周,而该应用程序不在后台怎么办?他们怎么知道他们有消息等着他们?是否可以将Openfire的pubsub服务与Apple的推送通知相结合?我在正确的轨道上吗?谢谢! 最佳答案 您所设想的限制是有意构建的,

ios - 当音频工作未激活时禁用应用程序的后台模式

我正在使用AudioUnit来处理音频录制和重放。并且我在info.plist中的UIBackgroundModes键中添加了音频,以便在进入背景时保持录音或播放。问题是:当我的应用程序没有录制或播放音频时,应用程序仍在后台运行,当设备锁定或在主屏幕时我可以看到红色警告栏。那么,如何让我的应用程序在不录制时暂停以节省电池生命周期?就像在添加UIBackgroundModes键之前一样? 最佳答案 今天终于弄明白了。我停止音频文件写入程序,但不停止AudioSession。通过在停止播放时添加AudioSessionSetActive

ios - 如何在 Ionic 应用程序中添加后台服务

我尝试使用cordovaBackgroundGeolocation将我的位置发送到后台服务器。但是当我在一段时间后将我的应用程序置于后台时它停止工作。所以我尝试了BackgroundFetch服务https://github.com/christocracy/cordova-plugin-background-fetch但不起作用:错误是:You'veimplemented-[application:performFetchWithCompletionHandler:],butyoustillneedtoadd"fetch"tothelistofyoursupportedUIBackg

ios - 远程推送通知是否需要在 Info.plist 中添加 UIBackgroundModes?

我已经集成了远程推送通知,但我收到了这个警告:didReceiveRemoteNotification:fetchCompletionHandler:],butyoustillneedtoadd"remote-notification"tothelistofyoursupportedUIBackgroundModesinyourInfo.plist.我的Xcode版本是8.3.1。我真的很想将它添加到Info.plist。我也遵循了一些教程,但他们也没有提到这一点。我到底应该怎么做? 最佳答案 是的,您应该启用后台模式/远程通知才能

ios - 远程推送通知是否需要在 Info.plist 中添加 UIBackgroundModes?

我已经集成了远程推送通知,但我收到了这个警告:didReceiveRemoteNotification:fetchCompletionHandler:],butyoustillneedtoadd"remote-notification"tothelistofyoursupportedUIBackgroundModesinyourInfo.plist.我的Xcode版本是8.3.1。我真的很想将它添加到Info.plist。我也遵循了一些教程,但他们也没有提到这一点。我到底应该怎么做? 最佳答案 是的,您应该启用后台模式/远程通知才能

ios - 在运行时更改 UIBackgroundModes 音频

我有一个播放音乐的应用程序,我想启用背景模式。我的音频类别设置为kAudioSessionCategory_MediaPlayback,如果我在info.plist文件内的UIBackgroundModes中添加audio字符串,它会继续播放音频。到目前为止一切顺利。现在我想为我的用户提供这个选项,让他们选择是否在后台播放音频。我尝试获取文件并删除key,但到目前为止没有任何反应。我所做的是(在由UIButton处理的选择器中):-(void)disableBackgroundAudio:(UIButton*)button{NSDictionary*plistDict=[[NSBund

ios - MIDIDestinationCreate 和 UIBackgroundmodes

我编写了一个使用midi播放音频的应用程序。该应用程序使用MIDIDestinationCreate并按照Apple在iOS6发行说明中的​​建议启用UIBackgroundmodes。应用审核团队拒绝了该应用,因为他们说该应用在进入后台模式时不会播放任何声音。他们建议我相应地更改plist并取消选中音频/背景模式。这当然会导致应用程序在播放midi时崩溃,这里的问题以及iOS6发行说明中也提到了这一点:CoreMIDI/PGMidiVirtualmidierroriniOS6理想情况下,我不希望它在后台播放音乐。当用户将应用程序置于后台时,他们就完成了。我回复了应用审查团队,让他们引

ios - UIBackgroundModes 不起作用的广告

我修改了有关UIBackgroundModes的Apple文档,下面是它的内容:Whenthiskeyispresent,thesystem’saudioframeworksautomaticallypreventyourapplicationfrombeingsuspendedwhenitmovestothebackground.Aslongasitisplayingaudio,theapplicationcontinuestoruninthebackgroundtosupportthataudio.但是我有一个使用AVPlayer类播放音频流的应用程序,但它无法使用它。这个key应

ios - 如果 UIBackgroundModes 中定义的远程通知和新的推送通知出现,iOS 是否会在重启后在后台启动应用程序?

我有一个iOS7应用程序,它注册了后台模式远程通知:UIBackgroundModesremote-notification它在重启之前工作正常,应用程序在后台获取此事件:-(void)application:(UIApplication*)applicationdidReceiveRemoteNotification:(NSDictionary*)userInfofetchCompletionHandler:(void(^)(UIBackgroundFetchResult))completionHandler但看起来在重新启动后我不再收到此事件,直到我手动启动应用程序。所以,问题是:
12