2014-09-22 41 views
4

對於一些非常奇怪的原因,當我嘗試選擇顯示在UIDocumentInteractionController中的應用程序時,什麼都不會發生。控制檯正在記錄一個LaunchServices: invalidationHandler called錯誤,我已經環顧四周嘗試找到一個修復程序,但我什麼都沒有提出。從UIDocumentInteractionController中選擇應用程序會拋出「LaunchServices:invalidationHandler called」錯誤

下面是我的代碼發送到Instagram的應用程序的照片。菜單彈出正常,並顯示Instagram作爲我想要的唯一選項,但是當我點擊它時,除了前面提到的控制檯消息之外,沒有任何事情發生。

- (void)addToInstagram 
{ 
    // Save image to temporary file 
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentsDirectory = [paths objectAtIndex:0]; 
    NSString *savedImagePath = [documentsDirectory stringByAppendingPathComponent:@"add_to_insta.igo"]; 
    NSData *imageData = UIImagePNGRepresentation(self.energy.image); 
    [imageData writeToFile:savedImagePath atomically:NO]; 
    NSString *jpgPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/add_to_insta.igo"]; 
    NSURL *igImageHookFile = [[NSURL alloc] initWithString:[[NSString alloc] initWithFormat:@"file://%@", jpgPath]]; 

    // Pass into Instagram app 
    CGRect rect = CGRectMake(0, 0, 612, 612); 
    self.docFile = [UIDocumentInteractionController interactionControllerWithURL:igImageHookFile]; 
    self.docFile.UTI = @"com.instagram.exclusivegram"; 
    self.docFile.annotation = @{@"InstagramCaption": @"#capturedby_____"}; 

    [self.docFile presentOpenInMenuFromRect:rect inView:self.view animated:YES]; 
    if([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"instagram://media?id=MEDIA_ID"]]){ 
     [self.docFile presentOpenInMenuFromRect:rect inView:self.view animated:YES]; 
    }else{ 
     UIAlertView *errorView = [[UIAlertView alloc] initWithTitle:@"Instagram" message:@"You do not have Instagram installed." delegate:nil cancelButtonTitle:@"Okay" otherButtonTitles:nil]; 
     [errorView show]; 
    } 
} 

是否有其他人偶然遇到此錯誤?

+0

我得到了同樣的錯誤在iOS 8不幸的是沒有得到任何解決方案。 – Vijay 2014-09-23 10:58:39

+0

我其實昨天晚上已經想清楚了。基本上發生了什麼事情是圖像文件作爲'無'值進入,所以沒有任何啓動。一旦我解決了圖像保存問題,一切按預期工作(儘管錯誤仍然出現在控制檯中)。 – ImpurestClub 2014-09-23 15:13:57

+0

我檢查了圖像也不是空的,我通過郵件共享文件,郵件應用程序顯示圖像已附加,但獲取警告並在控制檯中打印大型日誌。日誌看起來像打印NSData。 – Vijay 2014-09-24 11:45:54

回答

0

您是否嘗試過設置UIDocumentInteractionController委託?我收到相同的消息,但設置代理允許呈現文檔選擇器。

0

嘗試加入這一行到主線程:

 dispatch_async(dispatch_get_main_queue(), ^() { 

     [self.docFile presentOpenInMenuFromRect:rect inView:self.view animated:YES]; 

     }); 
+0

沒有工作。我在這裏有同樣的問題,但這種方式沒有奏效 – TomSawyer 2014-11-07 18:02:55

相關問題