我有一个bug,我已经被卡住了一点,想知道是否有人可以帮助。我的UIActivityViewController在navigationController中被调用。问题是completionblock只是偶尔被调用。专门用于消息和邮件它真正调用completionBlock的唯一实例是当用户发送成功的消息/邮件时。如果用户取消,它不会调用completionBlock,这将导致它挂起:虽然对于邮件你可以取消模态,但对于消息你不能。
谢谢!
let shareContent = ["Write your share content"]
let activityController = UIActivityViewController(activityItems: shareContent,
applicationActivities: nil)
self.present(activityController, animated: true, completion: nil)
//Completion handler
activityController.completionWithItemsHandler = { (activityType: UIActivity.ActivityType?, completed:
Bool, arrayReturnedItems: [Any]?, error: Error?) in
if completed {
print("share completed")
return
} else {
print("cancel")
}
if let shareError = error {
print("error while sharing: (shareError.localizedDescription)")
}
}
所以过了一会儿,我确定这个问题很可能是冲突的cocoapod或其他库。
为了解决这个问题,我们通过创建一个模仿"外观"的自定义活动来解决这个问题。但只是定期调用MFMessageViewController。将委托附加到自定义活动本身。