Tag: 后台进程

locking屏幕iPod控件无法使用Spotify音乐播放器

我将Spotify播放器添加到使用MPMusicPlayerController播放音乐的应用程序中。 当Spotify正在播放音乐并且屏幕被locking时,当用户在locking的屏幕上按下这些button时,远程控制事件不会被播放/暂停以及FFW / RWD接收。 如果从MPMusicPlayerController播放音乐,则可以根据以下代码接收遥控事件: -(void) ViewDidLoad { … [[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; [self becomeFirstResponder]; … } 和 – (BOOL) canBecomeFirstResponder { return YES; } – (void) remoteControlReceivedWithEvent: (UIEvent*) event { // see [event subtype] for details if (event.type == UIEventTypeRemoteControl) { // We may be receiving an event from the lockscreen switch (event.subtype) { case […]

如何以固定的时间间隔在后台重启CoreBluetoothpipe理器实例

我正在开发使用CoreBluetooth的iOS应用程序,并且在应用程序BackGround中有一个问题。 通常,iOS应用程序无法在后台长期运行。 (例如,按HomeButton切换其他应用程序)但我的应用程序设置为“使用蓝牙LE配件”作为BackGroundMode,所以我可以在后台监控区域。 我在didEnterRegion中实现了startRangingBeaconsInRegion。 当进入一个地区时,测距区域将被启动,并在iOS大约10秒后停止。 但是我想总是在后台使用范围。 因为我的应用程序只使用一个UUID来检测超过20个信标(20意味着限制startMonitoringForRegion),我想知道如何在一个地区的信标。 (关于只使用一个UUID的原因,请看这个技巧。 iBeacon /蓝牙低功耗(BLE设备) – 信标的最大数量 。) 所以我想在后台以固定的时间间隔重新启动CoreBluetoothpipe理器实例的方式。 如果我可以做交替didEnterRegion – > didRangeBeacons->重新启动 – > didEnterRegion – > didRangeBeacons – >重新启动 – > …,我可以检查如何在这个区域以固定的时间间隔的信标。 也许我需要后台获取…我会稍后尝试。 如果你知道这种方式是否可用,请告诉我。 或者如果您有任何build议,请告诉我,我会尝试。 更新2014/03/07 17:45 BackGround获取将以UNSTABLE间隔触发。 所以这种方式不是解决scheme…

iPhone VOIP在背景中

我正在开发一个iPhone应用程序,通过Wi-Fi与非iOS设备进行通信。 我的应用程序使用VOIP.I已经configuration了stream,并将必要的UIBackgroundModes添加到我的plist 。 问题是应用程序没有从外部设备收到任何信息,当它进入后台。 有人可以告诉我,如果我错过了什么?

Android / iOS – BLE – 在BLE设备连接时唤醒已终止的应用程序

Iam创build一个iOS和一个Android应用程序,从蓝牙传感器读取一些数据,并将其保存在一个数据库。 即使应用程序被终止,我也想保存传感器的数据。 仅供参考。 我已经设法读取在iOS和Android的传感器,而应用程序是背景。 但是我关心的是如何使下面的场景工作: – 传感器与电话断开 – 用户从任务pipe理器终止应用程序 – 用户将BLE传感器连接(并配对)至设备 – 应用程序在后台唤醒并读取传感器输出,然后返回hibernate状态。 有什么build议么?

CodenameOne BluetoothLe连接的后台任务

我正在开发一个使用Codename One的应用程序,它连接到一个蓝牙LE专有的外部设备,并logging接收到的数据(平均数据大约每秒钟到达一次)。 我正在使用蓝牙LE CN1库 (Cordova 插件的包装)。 该应用程序应该能够接收和logging数据,即使不在前景,我不知道如何在CodenameOne中做的方式,系统将不会自行closures它。 我已经编写了一个原生的Android应用程序,在这个应用程序中,在与外部BTLE设备连接期间使用持久通知的服务 – 连接丢失(或者用户取消连接)时退出后台服务。 有没有办法在CodenameOne中做同样的事情,在Android和iOS上都可以使用? 我知道我可以编写本地代码来做到这一点,但我仍然怀疑,如果我仍然可以使用插件 – 我想避免编写应用程序本机的两个操作系统的整个蓝牙连接模块,因为这种否定点使用CodenameOne。 我没有尝试过只是产生一个Java线程,因为它看起来不会真的工作,因为它被转换为本地代码…或者它呢? PS:我已经find了解决我的问题的方法,最接近我能find的就是CodenameOne背景音乐播放,但这只是为了音乐播放,据我所知。

HealthKit数据在后台无法访问

我想在后台使用后台提取来提取HealthStore数据,但是我不断收到错误: Error Domain=com.apple.healthkit Code=6 "Protected health data is inaccessible" UserInfo=0x17026fdc0 {NSLocalizedDescription=Protected health data is inaccessible} 。 苹果说: 由于HealthKit商店已encryption,因此手机locking时,应用程序无法从商店读取数据。 这意味着您的应用在后台启动时可能无法访问商店。 任何解决方法来访问背景中的数据? HKObserverQuery是在后台获取数据的唯一方法吗?

应用程序从后台唤醒时重新启动

G'day iOS大师的, 我已经广泛search了一个答案,但找不到一个(我敢打赌,我的问题的第一个答复将是另一个类似的问题,但我无法find它)。 无论如何,我的问题是,我正在运行一个简单的地图应用程序,用户可以在地图上放置一个定制的圆圈覆盖在引脚上的引脚。 当应用程序进入后台(iPhonelocking或主页button按下),如果我在5分钟内重新进入应用程序,引脚仍然在那里,应用程序重新打开到最后一个屏幕。 都好。 但是,如果我将应用程序保留在后台超过5分钟,应用程序将重新启动,所有引脚都将丢失。 我在plist中有“应用程序不在后台运行= NO”,并在所需的后台模式下启用了“位置更新的应用程序注册”。 如何防止应用程序在进入后台并加载最后打开的视图后重新启动?

目标C中符号^的含义

可能重复: 目标C中的插入符号 Objective-C中这个^语法是什么意思? 在Objective C中search符号^的含义让我感到厌倦,尤其是在后台运行的任务中,我已经看到了很多项目。 我会把一个链接http://developer.apple.com/library/ios/#samplecode/StitchedStreamPlayer/Introduction/Intro.html#//apple_ref/doc/uid/DTS40010092和MyStreamingMovieViewController.m你可以find以下内- (IBAction)endScrubbing:(id)sender method 。 timeObserver = [[player addPeriodicTimeObserverForInterval:CMTimeMakeWithSeconds(tolerance, NSEC_PER_SEC) queue:dispatch_get_main_queue() usingBlock: ^(CMTime time) { [self syncScrubber]; }] retain]; } 另外http://developer.apple.com/library/ios/#documentation/iphone/conceptual/iphoneosprogrammingguide/ManagingYourApplicationsFlow/ManagingYourApplicationsFlow.html – (void)applicationDidEnterBackground:(UIApplication *)application { UIApplication* app = [UIApplication sharedApplication]; bgTask = [app beginBackgroundTaskWithExpirationHandler:^{ // Clean up any unfinished task business by marking where you. // stopped or ending the task […]

线程调用方法

我发现这个方法与后台线程一起工作。 我的问题是,我已经在包含多个方法的后台线程中运行了一个完整的进程。 第一个方法调用第二个,第二个调用一些数据并传递给第三个。 -(void)firstMethod dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void){ if(someCondition == 0) { [self secondMethod:myArray]; } } dispatch_async(dispatch_get_main_queue(), ^(void){ [self.navigationController popViewControllerAnimated:YES]; }); }); } -(void)secondMethod:(NSArray *)array { a= a+3; [self thirdMethod:array[a]; } 所以你的总体思路是正确的? 所以我必须把第二个和第三个方法的function放在后台线程中吗? 或者整个过程如何进行?

我可以使用苹果推送通知服务让我的应用程序做一些事情,而不通知iOS 7中的用户

我的algorithm希望以这种方式工作 – 如果在我的服务器上发生了一些所需的事件,那么我希望向我的应用程序(前台或后台)的每个用户发送less量数据。 但是,而不是通知用户,我希望我的应用程序做一些数据计算和确认服务器。 切记不要通知用户。