UIActivityViewController的应用程序将不会被选中

问题描述:

所以,我创建了一个基本的活动视图控制器,它具有最需要的参数,并且如预期的那样被调用,但是!UIActivityViewController的应用程序将不会被选中

呈现后,您不能点击任何项目,但底部的“取消”除外。

在几个网站上看到,在调试模式等,没有找到结果。

实现:

func shareViaOther() { 
     let body = Constants.ShareContent.title + "\n\n" + Constants.ShareContent.body 
     let image = UIImage(named: Constants.ImageNames.appIcon)! 
     let url = Constants.ShareContent.url! 

     let items: [Any] = [body, image, url] 

     let activityVC = UIActivityViewController(activityItems: items, applicationActivities: nil) 
     activityVC.popoverPresentationController?.sourceView = view 

     activityVC.excludedActivityTypes = [ 
      UIActivityType.postToWeibo, 
      UIActivityType.postToTencentWeibo, 
      UIActivityType.postToVimeo, 
      UIActivityType.postToFlickr, 
      UIActivityType.saveToCameraRoll, 
      UIActivityType.assignToContact, 
      UIActivityType.print, 
      UIActivityType.copyToPasteboard 
     ] 

     present(activityVC, animated: true, completion: nil) 
    } 

免责声明:好像清洗项目,重设手机和重建没有任何区别..

任何帮助,将不胜感激!

我发现的bug,这里的概括和解决方案:

回顾

我创造了共同的UIViewController的延伸,在我推翻了touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?)方法。 它从来没有被称为,并停止像我预期的行事。它不允许我在添加到视图的表视图中选择任何表视图单元格 - 缺少轻击手势识别器。

更令人沮丧的部分是导致活动视图控制器无法选择,但滚动工作正常 - 这就是我意识到问题可能发生的地方。

从UIViewController中扩展删除touchesBegan(...),创造了BaseViewController我继承从每一个视图控制器和扩展与touchesBegan(...)功能BaseViewController能力。现在我可以通过点击它们来选择所呈现的应用程序。干杯!