I don't know how to make this function to return base64encoded string of thumbnail in jpeg format.
let request = QLThumbnailGenerator
.Request(fileAt: fileURL, size: size, scale: scale,
representationTypes: .lowQualityThumbnail)
QLThumbnailGenerator.shared.generateRepresentations(for: request)
{ (thumbnail, type, error) in
DispatchQueue.main.async {
if thumbnail == nil || error != nil {
// Handle the error case gracefully.
} else {
// return the thumbnail as bas64 string.
return ...
}
}
}
}
I implemented ATT with google API. And issue is that I never see the popup message itself. I have on my test device, the Personalised Ads greyed out - (with message ..your Apple ID is associated with region where Apple-delivered ads are not available ...)
So when ever I run application I get immediately response for requestTrackingAuthorization reguest - "Denied"
even when I put to debug parameters notEEA and my device as testDeviceIdentifiers ...
still no changes.
Any clue how to get this tracking message popup appearing during testing?
How to filter table content based on search text, sample code:
struct Person: Identifiable {
let givenName: String
let familyName: String
let index: String
let id = UUID()
}
@State private var searchText: String = ""
@State private var people = [
Person(givenName: "Juan", familyName: "Chavez", index: "0"),
Person(givenName: "Mei", familyName: "Chen", index: "1"),
Person(givenName: "Tom", familyName: "Clark", index: "2, id: 2"),
Person(givenName: "Gita", familyName: "Kumar", index: "3, id: 3"),
]
@State private var sortOrder = [KeyPathComparator(\Person.givenName)]
@State private var selection : Person.ID?
var body: some View {
Table(people, selection: $selection, sortOrder: $sortOrder) {
TableColumn("Given Name", value: \.givenName)
TableColumn("Family Name", value: \.familyName)
}
.onChange(of: sortOrder) {
people.sort(using: $0)
}
.searchable(text: $searchText)
}
}
I have Array of 4 items, and I show 2 of them in table.
And selecting the item in table, I want to print out selected row all items from array.
It works only if I have not sorted the table first.
As soon I sort the table I can't find reference to the array index.
Is there any way to find array index?
sample:
struct testtable: View {
struct Person: Identifiable {
let givenName: String
let familyName: String
let index: String
let id: Int
}
@State private var people = [
Person(givenName: "Juan", familyName: "Chavez", index: "0", id: 0),
Person(givenName: "Mei", familyName: "Chen", index: "1", id: 1),
Person(givenName: "Tom", familyName: "Clark", index: "2", id: 2),
Person(givenName: "Gita", familyName: "Kumar", index: "3", id: 3),
]
@State private var sortOrder = [KeyPathComparator(\Person.givenName)]
@State private var selection : Person.ID?
var body: some View {
Button(action: {
print("array[\(self.selection)]")
let arrayindex: Int = self.selection!
print(people[arrayindex])
}){
Label("Print Array Items", systemImage: "doc.text.magnifyingglass")}
Table(people, selection: $selection, sortOrder: $sortOrder) {
TableColumn("Given Name", value: \.givenName)
TableColumn("Family Name", value: \.familyName)
}
.onChange(of: sortOrder) {
people.sort(using: $0)
}
}
}