Ios 触发BTLE后台通知后拍照

Ios 触发BTLE后台通知后拍照,ios,objective-c,uiimagepickercontroller,avfoundation,bluetooth-lowenergy,Ios,Objective C,Uiimagepickercontroller,Avfoundation,Bluetooth Lowenergy,我正在开发一个在后台模式下运行的应用程序,这样我的应用程序就可以接收来自BTLE附件的BT通知 当我收到一个特定的通知时,我想拍一张应用程序是在后台运行还是在前台运行的照片 第一个问题:苹果会因为在后台模式下拍照而拒绝该应用程序吗 第二个问题: 这样做的最佳选择是什么 起初我考虑使用UIImagePickerController,但最后我使用的是AVFoundation,因为我不需要显示预览 但是,第三个也是最后一个问题:我可以预览一下吗? 我已尝试使用以下代码。如果应用程序在前台模式下运行,则

我正在开发一个在后台模式下运行的应用程序,这样我的应用程序就可以接收来自BTLE附件的BT通知

当我收到一个特定的通知时,我想拍一张应用程序是在后台运行还是在前台运行的照片

第一个问题:苹果会因为在后台模式下拍照而拒绝该应用程序吗

第二个问题: 这样做的最佳选择是什么

起初我考虑使用UIImagePickerController,但最后我使用的是AVFoundation,因为我不需要显示预览

但是,第三个也是最后一个问题:我可以预览一下吗? 我已尝试使用以下代码。如果应用程序在前台模式下运行,则其工作正常,但在后台模式下不工作:

UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"iPhone5Storyboard" bundle:nil];
AVCamViewController *camViewController = [mainStoryboard instantiateViewControllerWithIdentifier:@"ViewControllerCamera"];

UIViewController *rootVC = [[(AppDelegate *) [[UIApplication sharedApplication] delegate] window] rootViewController];
[rootVC presentViewController: camViewController animated:YES completion:nil];

很多疑问。

首先,当应用程序不在前台时,你不能拍照。这只是iOS的一个核心限制。(不过,你可以用越狱的iphone来实现这一点)

至于问题的第二部分,您可以使用AVFoundation来使用相机功能。它在视图表示和任何类型的过滤器上都非常灵活,您可以将其应用于视频流。AVCam示例是一个很好的示例

至于第三点,这又回到了第一点。无论您使用什么,您都不能在后台拍照,除非它位于前台并且用户已给予许可


我建议提交一个本地通知,并要求用户在你想要拍照时将应用程序带到前台。可能不是你想听到的新闻,但这正是苹果打算使用它的方式

谢谢你的回复。我已经在应用程序位于后台时拍照,但目前只能在应用程序位于前台时显示预览。我不使用jalibroken iphone。我会考虑你提出通知的建议。