Hi,
I have an issue with a closure not being called from time to time. The closure should be called after querying the Leaderboard in GameKit:
current.loadEntries(for: GKLeaderboard.PlayerScope.global, timeScope: GKLeaderboard.TimeScope.allTime, range: NSMakeRange(1, 100)) { (entry, entries, val, error) in
for entry in entries! {
print(entry)
self.globalLeaderboard.append(entry)
}
print(error)
print("raise completed")
completed()
print("raised completed")
}
the receiving function looks like this:
svc.loadTop100 {
print("show top 100")
self.showDialog()
}
every 2nd or third time, the closure isn't correctly invoked, but I don't know why. The debug output from the working call looks like this:
nil
raise completed
show top 100
raised completed
and from the non-working call:
nil
raise completed
raised completed
So somehow it never returns.
The function is defined like this:
public func loadTop100(completed: @escaping () -> Void)
Any ideas why this happens? Is there an error with concurrency I haven't thought about?
Thanks,
Mario
Post
Replies
Boosts
Views
Activity
Hi,
I have my app on the App Store for about 3 month. Today, I created an update and started to test via TestFlight. However, the image quality of the PNG files are really bad (though haven't changed anything!)
There are items in the image that shouldn't be, ... - to me, it looks like the quality of the images were downsampled or whatever. I've included screenshots on how it looks like.
On my Mac, the images are correct, also on the device emulator. It only appears when distributing the app ... might there be something wrong with the created archives?
Anyone else experienced something like that, how can I fix this?
Thanks for your help,
Mario
1st Image: how it looks like on the simulator.
2nd Image: how it looks on the iPhone. please note how the buttons appear