草庐IT

ios - 当 iOS 应用程序在后台甚至被杀死时获取它的位置

我的应用程序需要在应用程序处于事件状态以及处于非事件状态和被终止时获取用户的位置。当用户的位置靠近商店时,应用程序必须发送本地通知。我不确定到底发生了什么,但我无法让我的应用在后台获取位置并在被杀死时将其唤醒。我有一个位置管理器(单例,用于whenInUse和Always两种情况),并且我在.plist中定义了NSLocationAlwaysUsageDescription和NSLocationWhenInUseUsageDescription我正在做的是:-(BOOL)application:(UIApplication*)applicationdidFinishLaunchingW

ios - 在后台运行完成后,如何使用来自 parse.com 查询的数据填充 UITableView?

我有一个UITableViewController负责显示一张满是员工的表格。此数据存储在parse.com上的数据库中。这是我的UITableViewController,我刚刚在其中启动了商店:-(id)initWithNibName:(NSString*)nibNameOrNilbundle:(NSBundle*)nibBundleOrNil{self=[superinitWithNibName:nilbundle:nil];if(self){store=[[EmployeeStorealloc]init];}returnself;}这是EmployeeStore初始化方法,我在

ios - 核心数据在后台保存对象问题

简而言之,我想做的是使用后台队列将从Web服务中提取的JSON对象保存到CoreDataSqlite3数据库中。保存发生在我通过GCD创建的序列化后台队列上,并保存到为该后台队列创建的NSManagedObjectContext的辅助实例。保存完成后,我需要使用新创建/更新的对象更新主线程上的NSManagedObjectContext实例。我遇到的问题是主线程上的NSManagedObjectContext实例无法找到保存在后台上下文中的对象。下面是我对代码示例采取的操作列表。对我做错了什么有什么想法吗?通过GCD创建后台队列,运行所有预处理逻辑,然后在该线程上保存后台上下文:.//

multithreading - 在后台线程上将 UIVIew 渲染为图像的安全方法?

我正在创建要存储在磁盘上并显示给用户的小图block图像。这是我目前执行此操作的过程:创建一个代表我想在屏幕上显示的UI的ViewController从ViewController获取View并从中渲染图像将其保存到磁盘并稍后在屏幕上显示当我尝试访问ViewController的View时,我崩溃了。当我试图在线研究这个问题时,关于在后台创建View是否安全,我得到了相互矛盾的结果。我读到UIGraphicsGetCurrentContext调用应该是线程安全的,但也许不能在后台线程上访问UIView?我正在为iOS4及更高版本编写应用程序。这是我正在使用的代码(tile是ViewCo

ios - 不录制时显示红色状态栏,应用程序在后台

我在录音的应用程序上遇到状态栏问题。我有UIBackgroundModesaudio在我的plist中,以便在录音和应用程序在后台时获得红色状态栏通知。但是,如果我停止录制并转到后台,状态栏仍然存在。我在运行4.3.2的iPad2和运行5.0的iPhone4上看到过这个。我怀疑这是一个>OS4问题,因为我正在正确终止录制并且似乎没有(经过认证的)API来控制状态栏。有人看到这个/知道如何修复它吗?我怀疑这可能是一个iOS错误,但需要先排除我自己:)到目前为止,我在网上看到的唯一一件事就是这个(Unresolved)电子邮件线程:http://web.archiveorange.com/

iphone - 应用程序在后台或暂停时的位置更新

大家好。我正在尝试在我的应用程序中实现重要的位置更改和区域支持。当应用程序处于事件状态时,接收位置更新显然没有问题。我的问题是如何在应用未激活时处理更新。这是我对如果检测到显着的位置变化或区域进入/退出会发生什么的理解:如果应用程序在后台或暂停,iOS会在我现有的位置代理上调用locationManager:didUpdateToLocation:fromLocation:(或locationManager:didEnterRegion:)。如果应用程序终止,iOS会调用application:didFinishLaunchingWithOptions:并在我的应用程序委托(deleg

iphone - 使用 Core Bluetooth 在后台获取蓝牙 LE 外设广告

当我的应用程序在后台运行时,我无法弄清楚如何接收蓝牙LE外围设备广告。也就是说,当我的应用程序在后台时,它永远不会到达didDiscoverPeripheral()方法——广告所在的位置。有谁知道我需要如何配置我的应用程序,以便在我的应用程序处于背景?当我的应用程序在后台时,可以通过线程轮询来完成吗?注意:我想从所有BLE设备获取广告,而不是定义数量的BLE设备。感谢帮助,凯西 最佳答案 我正在通过我的应用执行此操作。据说在后台模式下,CoreBluetooth比外围设备的广告间隔慢55倍。为了加快速度,我对外围设备进行了编程,使其

iphone - IOS:在后台播放应用程序时播放声音

我正在开发一个小应用程序,我希望手机在我的位置Controller发生事件时播放声音文件。问题是当应用程序处于后台模式时,AVAudioPlayer不会启动音频文件,但会安排代码,获取NSLog输出。另一件事是它可以在模拟器中运行,但不能在手机上运行。为什么不呢?这是我播放文件的代码:-(void)tryPlayTaleSound:(NSString*)fileName{NSString*backgroundMusicPath=[[NSBundlemainBundle]pathForResource:fileNameofType:@"mp3"];NSURL*backgroundMusi

ios - AVSpeechSynthesizer 在后台运行后停止工作

我正在单例中使用AVSpeechSynthesizer。在iOS8中,当应用程序进入后台一段时间后,当它恢复时,AVSpeechSynthesizer单例将不再说话。此问题不会发生在iOS7上。当应用进入后台时,我的日志中会显示以下消息:AVSpeechSynthesizerAudiointerruptionnotification:{AVAudioSessionInterruptionTypeKey=1;}我在单例的init方法中像这样初始化AVSpeechSynthesizer:self.speechSynthesizer=[[AVSpeechSynthesizeralloc]in

ios - 如何在同一台 iOS 设备上将文件从一个应用程序传输到另一个应用程序?

我正在编写一个iOS应用程序,用于将同一设备上另一个应用程序保存的文件转换为另一种格式。如何在同一台设备上将文件从一个应用程序传输到另一个应用程序?请注意,这些文件是非文本文件。 最佳答案 UIDocumentInteractionController是你的friend。基本上它是这样工作的:App1注册为能够处理XYZ类型的文件App2实现了UIDocumentInteractionController并将为用户提供“将文件发送到App1”的选项(我相信这必须由用户激活)应用程序1实现-(BOOL)application:open