Posts

Post marked as solved
3 Replies
I have a similar issue in Xcode 14.2. I see the message Failed to log access with error: access=<PATCCAccess 0x281ab0a00> accessor:<<PAApplication 0x281ac93b0 identifierType:auditToken identifier:{pid:12627, version:307689}>> ... but I seem to get access to what I'm requesting anyway.
Post not yet marked as solved
21 Replies
If the latest version available in the package contents of the latest Xcode, try at least copying the latest one and renaming it. I just did that with 16.5 (renamed from the latest 16.4) and it works on Xcode 14.2.
Post not yet marked as solved
4 Replies
Unrelated, but an interesting observation I made today, trying to find out what was causing hesitation in the Mac version. It turns out the hesitation is caused by label.removeFromSuperview() shown above. Removing that line eliminated the hesitation. I moved the cleanup of those views to idle time or when the maze is completed. This is interesting to me because adding the view doesn't cause the hesitation. only removing it does.
Post not yet marked as solved
4 Replies
You need not delve into this further. I've found a clue that will surely lead to the problem. I added a print for starting and ending positions of the popups, and I got this sample output. Will animate popup mystery score from (168.5, 534.5) to (404.81994284151176, 487.23601143169765) Will animate popup mystery score from (473.5, 473.5) to (nan, nan) Obviously, I have a bug in calculating the destination. Thanks for looking. Interesting that this would slow animations. With that clue, I solved the problem. I animate the popups from the token location to the center of the board. The problem was happening when the token location is at the center of the board. That caused a divide by zero when calculating the direction to the center. So in that case, I just go some other direction.
Post not yet marked as solved
4 Replies
I have no idea about the frame rate. It is the speed that is lower - WAAY lower. Just like when you set the slow animations item on the iOS simulator. I'd not thought of running instruments. I'll try that when I have some time. There is more than one way the animations are kicked off. The main one, the one that recenters the maze is done with a property of type UIViewPropertyAnimator. I call it mainAnimator. The basic logic goes like this: if mainAnimator.isRunning { mainAnimator.stopAnimation(true) // some logic to set the bounds of my maze view. self.mainAnimator = UIViewPropertyAnimator(duration: newDuration, curve: .easeOut, animations: { self.fieldView.bounds.origin = CGPoint(x: relativeToPuzzleCenter.x, y: relativeToPuzzleCenter.y) }) } else { // some logic to calculate the duration of the animation self.mainAnimator = UIViewPropertyAnimator(duration: duration, curve: .easeInOut, animations: { self.fieldView.bounds.origin = CGPoint(x: relativeToPuzzleCenter.x, y: relativeToPuzzleCenter.y) } } mainAnimator.addCompletion ... The completion block has a UIView.animate(withDuration) call in it. However, this is called only if the maze is completed. So this is not really relevant, since the issue happens before the maze is finished. For the popup scores that animate off, the logic goes like this: Instantiate a view with appropriate label and add it as a subview. Use a timer to let it stay in place for some period of time before animating it off: timer = Timer.scheduledTimer(withTimeInterval: delay, repeats: false) { // logic to do the popup animation } Popup animation: sup.addSubview(labelHolder) let animator = UIViewPropertyAnimator(duration: 2.0, curve: .linear) { labelHolder.center = endingPositionInSup labelHolder.alpha = 0 } animator.addCompletion { (position) in label.removeFromSuperview() } animator.startAnimation() For moving the token on the board, I use UIView.animate(withDuration: 0.2, delay: 0, options: .curveEaseInOut) { token.center = CGPoint(x: token.center.x + movement.x, y: token.center.y + movement.y) } completion: { (finished) in // some stuff unrelated to animation. } Having said all this, I can play multiple games with hundreds of movements per game without the slowdown happening. When the slowdown happens, it's sudden. Possibly a clue: when the slowdown happens, the popups originate from the wrong place. I'll add an appropriate assert there, although, I don't see how a location error would cause unrelated animations to slow down. Note that when the animation slowdowns happen it is ALL animations, including system animations that I didn't code. I should have mentioned that earlier. P.S. I've been meaning to eliminate all instances of UIView.animate.... with property animators. But that's still a to-do.
Post not yet marked as solved
9 Replies
I'm not seeing long times. However, I'm seeing some records are not posting. I'm new to CloudKit, so I'm probably doing something wrong. However, if I'm doing something wrong, why are the records sometimes posting and sometimes not? Note that in the case where it doesn't post, I am getting a return record with a recordID when I call save. Also, I'm printing the result of the save only if error is nil. So why doesn't the record show up when I do a query using the CloudKit online query tool? It's not a problem with a filter I created, because I'm querying all records of the record type in question and clicking on the created field to sort the most recent to the top. Seems like if I got a record ID, it must have posted, but then why doesn't it show up? Edit: never mind. I see now the issue is that the results in the dashboard are paged and that clicking a heading to sort the results sorts only that page of results. The records were there, just on a different page.
Post marked as solved
1 Replies
It turns out that in Testflight, I had apparently installed the iOS version. After toggling the macOS/iOS toggle at the top of the Testflight app, and installing the macOS version, it worked as expected.
Post not yet marked as solved
1 Replies
It seems the app is actually working. The step that says, "Check that the service is advertised on the local network" is where it fails. So apparently, it's working but bypassing the local network advertising for some reason. Maybe the devices I tested with are satisfied with Bluetooth so need not access the local network?
Post not yet marked as solved
1 Replies
I just experienced a stutter (system animations were stuttering - not app-specific). I tried cold booting a couple times, killing all apps. Finally, after letting the phone cool off (it was getting warm) after been shut off for a while, I booted it up again, plugged it in to Xcode and checked logs. There were about 25 crash logs for FileProviderExtension and a couple of FileProvider.