301 votes

UIActivityViewController s’écraser sur iPads iOS8

Je suis actuellement en train de tester mon application avec XCode 6 Bêta 6). UIActivityViewController fonctionne très bien avec les appareils iPhone et simulateurs mais se bloque avec l'iPad simulateurs et appareils (iOS 8) avec les journaux suivants

Terminating app due to uncaught exception 'NSGenericException', reason: 'UIPopoverPresentationController (<_UIAlertControllerActionSheetRegularPresentationController: 0x7fc7a874bd90>) should have a non-nil sourceView or barButtonItem set before the presentation occurs.'

Je suis à l'aide de code suivant pour l'iPhone et l'iPad pour iOS 7 ainsi que 8

NSData *myData = [NSData dataWithContentsOfFile:_filename];
NSArray *activityItems = [NSArray arrayWithObjects:myData, nil];
UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:nil applicationActivities:nil];
activityViewController.excludedActivityTypes = @[UIActivityTypeCopyToPasteboard];
[self presentViewController:activityViewController animated:YES completion:nil];

Je suis semblable accident dans une de mes autres app. Pouvez-vous svp me guider ? a quelque chose de changé avec UIActivityViewController dans iOS 8? J'ai vérifié mais je n'ai rien trouvé sur ce

468voto

mmccomb Points 4348

Sur l'iPad, l'activité view controller seront affichés sous forme de liste à l'aide de la nouvelle UIPopoverPresentationController, il faut que vous spécifiez un point d'ancrage pour la présentation de la liste à l'aide de l'une des trois propriétés suivantes:

Afin de préciser le point d'ancrage que vous aurez besoin pour obtenir une référence à la UIActivityController de UIPopoverPresentationController et de définir l'une des propriétés comme suit:

activityViewController.popoverPresentationController.sourceView = parentView;

0voto

Mongo db Points 11

J’ai trouvé cette solution en premier lieu, votre contrôleur d’affichage qui présente le kangourou doit mettre en œuvre le `` protocole.

Ensuite, vous devrez définir le `` de déléguer.

Ajouter ces fonctions :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X