Mam pewien kod udostępniania, który działa dobrze na iOS 7, ale od wersji iOS 8 już nie działa.Udostępnianie wideo na Facebooku na iOS 8
@IBAction func onShareButton(sender: UIButton) {
let movie = NSBundle.mainBundle().URLForResource("IMG_0564", withExtension: "mp4")!
let items = [movie]
let activity = UIActivityViewController(activityItems: items, applicationActivities: nil)
if activity.respondsToSelector("popoverPresentationController") {
activity.popoverPresentationController?.sourceView = sender
}
self.presentViewController(activity, animated: true, completion: nil)
}
Jak już wspomniano, to działa poprawnie w iOS 7, ale jak iOS 8, klip wideo nie jest już przywiązany do słupka (lub widoczne w panelu zakładowym), gdy wybiorę dzielić się z Facebookiem . Wszystkie inne opcje działają, Mail, Save to Video, AirDrop itp. Wszystko wydaje się działać dobrze.
Próbowałem zostały również przechodzącej elementy jak AVAssets:
let items = [movie].map { AVAsset.assetWithURL($0) }
i NSData:
let items = [movie].map { NSData(contentsOfURL: $0) }
z których żaden nie miał żadnego wpływu na ten problem.
Problem pojawia się również, gdy używam moralnego odpowiednika w Objective-C, jest to agnostyka języka.
W moim przypadku są to już adresy URL plików. Próbowałem już z nimi zlokalizowanymi zarówno w zasobach aplikacji, jak iw katalogu dokumentów, nie ma to znaczenia. Główną różnicą, którą widzę jest to, że używam mp4 i używasz .mov –
Uwaga wszystkie oczekiwane opcje działają z wyjątkiem Facebooka. –