如何在iOS 8扩展应用中的状态栏中指示网络活动

时间:2015-01-17 00:04:35

标签: ios

我想在iOS 8扩展应用中加载网页时显示网络活动。

但无法在扩展应用中使用[UIApplication sharedApplication]

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
    [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;    
    return YES;
}

如何在分机应用中显示网络活动?

1 个答案:

答案 0 :(得分:0)

iOS扩展程序限制了一些API。这些是在ExtensionOverview上定义的。

  

访问sharedApplication对象,因此不能使用该对象上的任何方法

     

使用头文件中标记的任何API与NS_EXTENSION_UNAVAILABLE宏或类似的不可用宏或不可用框架中的任何API

     

例如,在iOS 8.0中,HealthKit框架和EventKit UI框架对于应用扩展程序不可用。

     

访问iOS设备上的摄像头或麦克风(与其他应用扩展程序不同,iMessage应用程序可以访问这些资源,只要它能正确配置NSCameraUsageDescription和NSMicrophoneUsageDescription Info.plist密钥)

     

执行长时间运行的后台任务

     

此限制的具体内容因平台而异,如本文档的扩展点章节所述。

     

(应用扩展程序可以使用NSURLSession对象启动上传或下载,并将这些操作的结果报告给包含的应用。)

     

使用AirDrop

接收数据      

(应用扩展程序可以使用AirDrop以与应用程序相同的方式发送数据:使用UIActivityViewController类。)

尝试使用UIActivityIndicatorView