Post

Replies

Boosts

Views

Activity

In Beijing for overlap with WWDC - access limited?
I will be in Beijing on a tour overlapping with the last 3 days of WWDC. There are likely to be at least a couple of 1-1 labs I'd like to attend as well as group forum sessions. I suddenly had the horrified thought that the Great China Firewall may interfere with either of these. Does anyone know how likely this is? Does the Developer app work there? Will be in a reasonable hotel and have Vodafone roaming on my phone. thanks
0
0
580
2w
VoiceOver and limited vision approaches for custom stepper control
I have a product for designing particle emitters, which I suspect may be of limited interest to people with limited vision. I'd still like to ensure I'm doing a good job with VoiceOver mode. There's a related, simplified sample online, if you want to look at the code As you can see from the picture below, a large part of the interface mimics Xcode's particle editor, with many value entry controls that combine up/down buttons with a tappable label. Tapping the label goes into edit mode. Apart from changing how labels are stepped through in voiceover in my app, how should I handle these stepper buttons? Is this a good place to use a Custom Rotor?
0
0
110
Jun ’25
XCode 15b4 compiler changed behaviour (possible bug) with weak properties being cleared prematurely
I've just spent a couple of hours zeroing in on a very weird bug. It seems that the Swift 5.9 compiler in XCode 15b4 is being overly-aggressive in clearing weak vars, compared to previous versions. I have a method that returns an SKAction?. In the debugger, I traced code and verified that the value it attempts to return is a some : <SKMove: 0x280422b40> However, the caller saves that value into a member which appears immediately after assignment nil I tried adding a local variable for the return value, as seen below. That worked but override func perform() -> Bool { if cachedSKA == nil { let xcodeBugWorkaround = gameAction.makeSKAction() // was assigning nil with xcode15b4 cachedSKA = xcodeBugWorkaround // cachedSKA now shows in the debugger as non-nil if let activeScene = tgTouchgram.mostRecentlyStartedPlaying?.activeSKScene, let foundNode = referredNode(on: activeScene) { cachedTarget = foundNode } } // BUG - still fails at this point - cachedSKA appears nil again guard let ska = cachedSKA, let targetNode = cachedTarget else { return true } targetNode.run(ska) return true } The problem appears to be because cachedSKA is a weak vars. I am fairly certain it is being set to nil incorrectly. Even though, within this method, the value is used, it is clearing the property as the sole holder of the object reference. A fussy walkthrough reveals the compiler's changed behaviour is probably legal but certainly unexpected. Working version, still keeping the property as weak: override func perform() -> Bool { var localSKA: SKAction? = cachedSKA if localSKA == nil { localSKA = gameAction.makeSKAction() cachedSKA = localSKA if let activeScene = tgTouchgram.mostRecentlyStartedPlaying?.activeSKScene, let foundNode = referredNode(on: activeScene) { cachedTarget = foundNode } } guard let ska = localSKA, let targetNode = cachedTarget else { return true } targetNode.run(ska) return true }
5
0
1.2k
Jul ’23
Slack links fail for digital lounges
On the Digital lounges page there are links such as https://slack.com/app_redirect?channel=C03HCBT0N58 When I click one I end up on a random Slack channel I've been a member of for a long time, with a failure, eg: https://haiku-community.slack.com/app_redirect?channel=C03HCBT0N58 and message like this. There’s been a glitch… We’re not quite sure what went wrong. You can go back, or try looking on our Help Center if you need a hand.
1
0
1.3k
Jun ’22
In Beijing for overlap with WWDC - access limited?
I will be in Beijing on a tour overlapping with the last 3 days of WWDC. There are likely to be at least a couple of 1-1 labs I'd like to attend as well as group forum sessions. I suddenly had the horrified thought that the Great China Firewall may interfere with either of these. Does anyone know how likely this is? Does the Developer app work there? Will be in a reasonable hotel and have Vodafone roaming on my phone. thanks
Replies
0
Boosts
0
Views
580
Activity
2w
VoiceOver and limited vision approaches for custom stepper control
I have a product for designing particle emitters, which I suspect may be of limited interest to people with limited vision. I'd still like to ensure I'm doing a good job with VoiceOver mode. There's a related, simplified sample online, if you want to look at the code As you can see from the picture below, a large part of the interface mimics Xcode's particle editor, with many value entry controls that combine up/down buttons with a tappable label. Tapping the label goes into edit mode. Apart from changing how labels are stepped through in voiceover in my app, how should I handle these stepper buttons? Is this a good place to use a Custom Rotor?
Replies
0
Boosts
0
Views
110
Activity
Jun ’25
XCode 15b4 compiler changed behaviour (possible bug) with weak properties being cleared prematurely
I've just spent a couple of hours zeroing in on a very weird bug. It seems that the Swift 5.9 compiler in XCode 15b4 is being overly-aggressive in clearing weak vars, compared to previous versions. I have a method that returns an SKAction?. In the debugger, I traced code and verified that the value it attempts to return is a some : <SKMove: 0x280422b40> However, the caller saves that value into a member which appears immediately after assignment nil I tried adding a local variable for the return value, as seen below. That worked but override func perform() -> Bool { if cachedSKA == nil { let xcodeBugWorkaround = gameAction.makeSKAction() // was assigning nil with xcode15b4 cachedSKA = xcodeBugWorkaround // cachedSKA now shows in the debugger as non-nil if let activeScene = tgTouchgram.mostRecentlyStartedPlaying?.activeSKScene, let foundNode = referredNode(on: activeScene) { cachedTarget = foundNode } } // BUG - still fails at this point - cachedSKA appears nil again guard let ska = cachedSKA, let targetNode = cachedTarget else { return true } targetNode.run(ska) return true } The problem appears to be because cachedSKA is a weak vars. I am fairly certain it is being set to nil incorrectly. Even though, within this method, the value is used, it is clearing the property as the sole holder of the object reference. A fussy walkthrough reveals the compiler's changed behaviour is probably legal but certainly unexpected. Working version, still keeping the property as weak: override func perform() -> Bool { var localSKA: SKAction? = cachedSKA if localSKA == nil { localSKA = gameAction.makeSKAction() cachedSKA = localSKA if let activeScene = tgTouchgram.mostRecentlyStartedPlaying?.activeSKScene, let foundNode = referredNode(on: activeScene) { cachedTarget = foundNode } } guard let ska = localSKA, let targetNode = cachedTarget else { return true } targetNode.run(ska) return true }
Replies
5
Boosts
0
Views
1.2k
Activity
Jul ’23
Slack links fail for digital lounges
On the Digital lounges page there are links such as https://slack.com/app_redirect?channel=C03HCBT0N58 When I click one I end up on a random Slack channel I've been a member of for a long time, with a failure, eg: https://haiku-community.slack.com/app_redirect?channel=C03HCBT0N58 and message like this. There’s been a glitch… We’re not quite sure what went wrong. You can go back, or try looking on our Help Center if you need a hand.
Replies
1
Boosts
0
Views
1.3k
Activity
Jun ’22