Lio*_*ion 7 ios google-plus uiactivityviewcontroller
我正在使用我的应用程序中的共享选项UIActivityViewController; 它在iOS 9.2中工作正常,并且Google+共享选项在iOS 9.3中无效
为了确认这一点,我已经下载了其他具有共享选项的应用程序,UIActivityViewController问题是应用程序的整个UI都挂了.
我该如何解决这个问题?
编辑1: 代码:
NSURL * URL = [[NSURL alloc]initWithString:@"http://domainName/message.php?"];
NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:URL cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];
[request setHTTPMethod:@"GET"];
NSString *tempEmailId = (NSString *)[[NSUserDefaults standardUserDefaults] objectForKey:CURRENT_USER_EMAIL_ID_UD_KEY];
NSString *tempPassword = (NSString *)[[NSUserDefaults standardUserDefaults] objectForKey:CURRENT_USER_PASSWORD_UD_KEY];
NSString *basicAuthCredentials = [NSString stringWithFormat:@"%@:%@", tempEmailId, tempPassword];
[request setValue:[NSString stringWithFormat:@"Basic %@", AFBase64EncodedStringFromString(basicAuthCredentials)] forHTTPHeaderField: @"Authorization"];
//NSLog(@"request %@\n",request);
[[[NSURLSession sharedSession] dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (data != nil) {
NSString *responseString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSArray * activityItems = @[responseString];
dispatch_async(dispatch_get_main_queue(), ^{
activityViewController = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:activities];
[activityViewController setValue:@"Today's Recommendations" forKey:@"subject"];
activityViewController.excludedActivityTypes = @[UIActivityTypePostToFacebook];
[activityViewController setCompletionWithItemsHandler:
^(NSString *activityType, BOOL completed, NSArray *returnedItems, NSError *activityError) {
dispatch_async(dispatch_get_main_queue(), ^{
NSLog(@"activityType: %@, returnedItems: %@, activityError: %@", activityType, returnedItems, activityError.userInfo);
if (completed)
{
NSLog(@"The Activity: %@ was completed", activityType);
}
else
{
NSLog(@"The Activity: %@ was NOT completed", activityType);
}
});
}];
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
[self presentViewController:activityViewController animated:YES completion:nil];
}
//if iPad
else {
activityViewController.modalPresentationStyle = UIModalPresentationPopover;
// activityViewController.popoverPresentationController.sourceView = sender;
activityViewController.popoverPresentationController.sourceView = self.view;
if ([sender isKindOfClass:[UIButton class]]) {
UIButton *btn = (UIButton *)sender;
activityViewController.popoverPresentationController.sourceRect = btn.frame;
}
[self presentViewController:activityViewController animated:YES completion:nil];
}
});
}
}] resume];
Run Code Online (Sandbox Code Playgroud)
注意:: Mail,Twitter和Evernote正在运行.只有Google+挂断了.
编辑2 ::我不确切但我认为 - 它与开放URL无关.如果有关系请告诉我如何?
iOS 9.3 中出现了一些 JavaScript 问题。下面的文章中明确提到了这一点。这不是代码问题,而是Apple webview问题。检查随附的报价和 URL 以供参考。
点击电子邮件中的链接时 iOS 9.3 冻结
最常见的问题之一......影响电子邮件中的链接。使用 iOS 9.3 时,有些人发现通过单击 Mail 电子邮件应用程序中的链接,iPhone 或 iPad 会变得无响应。
临时解决方案是在 Safari 应用程序中关闭 JavaScript,方法是转至“设置”>“Safari”>“高级”,然后关闭 JavaScript 旁边的开关。
这个解决方案并不理想,值得庆幸的是,Apple 推出了新的更新 iOS 9.3.1,根据发行说明,该更新“修复了导致应用程序在点击 Safari 和其他应用程序中的链接后无响应的问题”。
要下载并安装更新,请打开“设置”,然后选择“常规”,然后选择“软件更新”。您现在应该能够重新打开 JavaScript,并可以单击电子邮件和其他消息中的链接,而不会出现 iOS 9.3 冻结的情况。
参考链接:iOS 9.3问题
| 归档时间: |
|
| 查看次数: |
298 次 |
| 最近记录: |