2016-06-23 8 views
2

Ich möchte die App finden, die der Benutzer über das iOS-Freigabefenster freigegeben hat. Dazu Ich bin der Umsetzung der UIDocumentInteractionControllerDelegate Methode documentInteractionController: willBeginSendingToApplication:UIDocumentInteractionControllerDelegate-Methoden werden nicht aufgerufen, wenn sie für die Freigabe einer App geteilt werden

-(IBAction) onOpenWithClicked:(id)sender 
    {  
       NSURL* savedURL = [self getURL]; 

       self.interactionController = [UIDocumentInteractionController interactionControllerWithURL:savedURL]; 
       self.interactionController.delegate = self; 

       [self.interactionController presentOpenInMenuFromRect:self.openWithButton.frame 
                   inView:self.shareView 
                  animated:YES]; 
    } 

- (void)documentInteractionController:(UIDocumentInteractionController *)controller willBeginSendingToApplication:(NSString *)application 
    { 
      NSLog(@"Sharing to application %@", application); 
    } 

Aber das Problem ist, dass diese Delegatmethode nicht, wenn der Benutzer Aktien Aktien Erweiterung einer App genannt zu werden. Es wird jedoch aufgerufen wird, wenn der Benutzer Aktien an die Hauptanwendung im Aktien Panel

Bitte lassen Sie mich wissen, ob es eine andere Möglichkeit ist, die App-Aktie Erweiterung zu finden, ist durch den Benutzer im Panel iOS Aktie

+0

Würde mich freuen, wenn jemand meine Anfrage beantworten kann. – Rahul

Antwort

0

Es ist nicht möglich, zu erkennen. Genauso ist es nicht möglich, System-Apps zu erkennen (Notes, Share auf Facebook, Airdrop, ...). Grundsätzlich wird alles, was als Overlay angezeigt wird, anstatt zu einer anderen App zu navigieren, in diesem Delegierten nicht mitgeteilt. Schau hier: willBeginSendingToApplication not called when open EverNote or any other extention

Ich versuchte sogar Unterklassen UIDocumentInteractionController und reimplementieren eine Reihe von Methoden wie actionSheet:clickedButtonAtIndex. Nichts.

Verwandte Themen