Presente UIActivityViewController- LaunchServices: invalidationHandler chamado
Eu já olhei para perguntas relacionadasaqui eaqui, e eu implementei as respostas sugeridas sem sucesso.
Eu tenho um UIBarButtonItem em uma UIToolbar, com Conexão para Ação de Envio para btnTBAction_touch:
No cabeçalho da classe ViewController, tenho:
@property (nonatomic, strong) UIActivityViewController *activityViewController;
O método relacionado na implementação da classe:
- (IBAction)btnTBAction_touch:(id)sender {
NSString *string = @"Some string";
NSURL *url = [[NSURL alloc] initWithString:@"http://www.google.com"];
UIImage *image = [UIImage imageNamed:@"default.png"];
self.activityViewController = [[UIActivityViewController alloc]
initWithActivityItems:@[string, url, image] applicationActivities:nil];
if ([self.activityViewController respondsToSelector:@selector(popoverPresentationController)])
{
UIPopoverPresentationController *presentationController = [self.activityViewController
popoverPresentationController];
presentationController.sourceView = sender;
}
[self presentViewController:self.activityViewController animated:YES completion:nil];
}
Ao executar no modo de depuração em um dispositivo físico, quando toco no botão que chama o método acima, obtenho o seguinte no console de depuração
2014-09-19 09:43:31.635 TestApp[1878:237873] LaunchServices: invalidationHandler called
2014-09-19 09:43:31.644 TestApp[1878:237814] LaunchServices: invalidationHandler called
No entanto, ao contrário das perguntas relacionadas, meu aplicativo não falha quando isso acontece, o aplicativo continua funcionando bem e o UIActivityViewController é apresentado corretamente ... mas prefiro corrigir o bug do que dizer que é bom o suficiente.
Além disso, tentei algumas permutações do método acima usando estas linhas:
presentationController.sourceView = self.view;
presentationController.sourceRect = self.view.frame;
Nada disso ajudou a resolver o problema.
Estou usando o Xcode v6.0.1O destino de implantação do meu aplicativo é 7.0 somente para iPhoneTestando em um iPhone 5s executando iOS 8.0O código está todo em Objective-C