swift 4. Использование UIActivityViewController для обмена изображениями с Facebook и других сбоев приложений - PullRequest
0 голосов
/ 02 января 2019

В своем приложении я пытаюсь поделиться большими изображениями с другими приложениями.Но когда я отправляю большое изображение в лайк фейсбук, фейсбук появляется, но он вылетает.Когда я изменяю размер изображения до небольшого, оно не падает.

Я пытался поделиться большими изображениями в кадре камеры, но в кадре камеры оно не падает и делится им с исходным размером изображения.

Есть ли другой способ сделать это с помощью UIActivityViewController?

var shareImage = UIImage shareImage.removeAll ()

    for i in 0...deletePhotoArray.count - 1 {
        let asset = AlbumModel.allPhotos?.object(at: deletePhotoArray[i])
        let options = PHImageRequestOptions()
        options.version = .current
        options.isSynchronous = true
        options.deliveryMode = .fastFormat
        PHImageManager.default().requestImage(for: asset!, targetSize: PHImageManagerMaximumSize, contentMode: .aspectFit, options: options) { (image, info) in
            shareImage.append(image!)
        }

    }

    let activityViewController = UIActivityViewController(activityItems: shareImage, applicationActivities: nil)
    activityViewController.popoverPresentationController?.sourceView = self.view // so that iPads won't crash

1 Ответ

0 голосов
/ 02 января 2019

Запрос targetSize: PHImageManagerMaximumSize, безусловно, даст вам очень большое изображение! Итак, первый совет: не делай этого. Вы можете быть в состоянии предоставить данные постепенно, используя подкласс UIActivityItemProvider.

...