Does anyone have any ideas on how to work with a new ios 17 live photo? I can save the live photo, but I can’t set it as wallpaper. Error is "motion not available ios 17 swift". I use Live photo library.
Also, I changed the metadata for different keys and didn't get a positive result.
let addone = addSampleTime()
lett addtwo = addSampleTime2()
let addthree = addLiveTime()
let Allmediatimed = "3 0.00823200028389692 16939217 155 5.94521753062658e-15 -6.44374300689783e-15 0.27380958199501 0.575768828392029 1.92900002002716 3.30649042129517 4 0 -1 0 0 0 0 0 0 0 0 0 9.80908925027372e-45 -0.17872442305088 3212927435 33811 49646"
assetWriter?.metadata = [addone, addtwo, addthree]
private func addSampleTime()->AVMetadataItem {
let item = AVMutableMetadataItem()
let keyContentIdentifier = "Sample Time" quickTimeMetadataKeyContentIdentifier
let keySpaceQuickTimeMetadata = "mdta"
item.key = keyContentIdentifier as (NSCopying & NSObjectProtocol)?
item.keySpace = AVMetadataKeySpace(rawValue: keySpaceQuickTimeMetadata)
item.value = "0 s" as (NSCopying & NSObjectProtocol)?
item.dataType = "com.apple.metadata.datatype.UTF-8"
return item
}
private func addSampleTime2()->AVMetadataItem {
let item = AVMutableMetadataItem()
let keyContentIdentifier = "Sample Duration" quickTimeMetadataKeyContentIdentifier
let keySpaceQuickTimeMetadata = "mdta"
item.key = keyContentIdentifier as (NSCopying & NSObjectProtocol)?
item.keySpace = AVMetadataKeySpace(rawValue: keySpaceQuickTimeMetadata)
item.value = "0.03 s" as (NSCopying & NSObjectProtocol)?
item.dataType = "com.apple.metadata.datatype.UTF-8"
return item
}
private func addLiveTime()->AVMetadataItem {
let item = AVMutableMetadataItem()
let keyContentIdentifier = "Live Photo Info" quickTimeMetadataKeyContentIdentifier
let keySpaceQuickTimeMetadata = "mdta"
item.key = keyContentIdentifier as (NSCopying & NSObjectProtocol)?
item.keySpace = AVMetadataKeySpace(rawValue: keySpaceQuickTimeMetadata)
item.value = self.Allmediatimed as (NSCopying & NSObjectProtocol)?
item.dataType = "com.apple.metadata.datatype.UTF-8"
return item
}