我想在iOS 8扩展应用中加载网页时显示网络活动。
但无法在扩展应用中使用[UIApplication sharedApplication]
。
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
[UIApplication sharedApplication].networkActivityIndicatorVisible = YES;
return YES;
}
如何在分机应用中显示网络活动?
答案 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类。)