PHAsset Location Metadata iCloud Sync

I have an iCloud database on several iOS and macOS devices, and when I update location PHAsset, it does not apply to other devices, even if they seem to be in sync. The location appears in the local device library, but not on other devices. I understand that this metadata must be in sync. No?

the code:

func setCoordinate(newCoordinate: CLLocationCoordinate2D) {
    guard let asset = asset else { return }

    willChangeValue(forKey: "coordinate")

    coordinate = newCoordinate

    PHPhotoLibrary.shared().performChanges({
        let request = PHAssetChangeRequest(for: asset)
        request.location = CLLocation(latitude: self.coordinate.latitude, longitude: self.coordinate.longitude)
    }, completionHandler: { (success, error) in
        self.didChangeValue(forKey: "coordinate")
    })
}
+4
source share

Source: https://habr.com/ru/post/1688931/


All Articles