HI,
I am having some discrepancies with FileManager. Currently, FileManager.default.isReadableFile(atPath: path) returns false, where fileExists(atPath: path) is true - I was able to write a new file at the same location. Does anyone have any ideas as to why I would be able to write but not read a file?
Thanks for any advice!
Post
Replies
Boosts
Views
Activity
Hi,
I'm working on training a createML object detector model; I've run into an issue that has me stumped - when I reach somewhere between 100,000 and 150,000 iterations my model will stop training and error out.
More Details:
CreateML gives me the error prompt that says it is unable to train the model please delete the model source and start from the beginning or duplicate the model and start from the beginning (slightly paraphrased)
I see the following error in the createML console (my user name and UUIDs have been redacted)
Unable to load model from file:///Users/<my user name>/Library/Caches/com.apple.dt.createml/projects/<UUID HERE>/sessions/checkpoint.sessions/<UUID Here>//training-000132500.checkpoint: Cannot open file:///Users/<my user name>/Library/Caches/com.apple.dt.createml/projects/<UUID Here>/sessions/checkpoint.sessions/<uuid here> //training-000132500.checkpoint/dir_archive.ini for read. Cannot open /Users/<my username>/Library/Caches/com.apple.dt.createml/projects/<UUID>/sessions/checkpoint.sessions/<UUID>//training-000132500.checkpoint/dir_archive.ini for reading
I've gone into my Caches in my Library directory and I see each piece of the file path in finder UNTIL the //training-00132500 piece of the path, so I can at least confirm that createML appears to be unable to create or open the file it needs for this training session.
Technology Used:
Xcode 16
Apple M1 Pro
MacOS 14.6.1 (23G93)
I've also verified that Xcode and terminal have full disk permissions in my system preferences - I didn't see an option to add CreateML to this list.
I've also ensured that my createML project and its data sources are not in iCloud and are indeed local on my desktop.
Lastly, I made more space on my machine, so I should have a little over 1 TB of space.
Has anybody experienced this before? Any advice? I am majorly blocked on this issue, so I hope somebody else can help shed some light on this issue!
Thanks!
Hi there!
I'm working on using the .accessibilityRepresentation view modifier for a custom slider, and I'm having some unexpected behavior. When I run my app with VoiceOver and swipe over the custom slider view, it will only announce the adjustable trait on a fresh run of VoiceOver, otherwise the VoiceOver needs to be turned off and back on again to hear the adjustable trait announcement and use the adjustable a11y action.
The only way that I found to get the correct announcement is to leave out the label specified in the .accessibilityRepresentation closure. See below for reference...
.accessibilityRepresentation {
Slider(value: $value, in: 0...12, step: 1.0) {
// Text("Window Distance")
}
}
I should note that this workaround causes these issues:
the slider thumb control doesn't update its position when the a11y action is performed - I figure this is probably because we don't have anything specified in the label param of the a11y representation.
VoiceOver does not announce the new value when the a11y action is performed - I have to double tap it again to hear the announcement
If I uncomment the Text modifier, then the following happens:
the adjustable trait and action will either be completely unavailable OR I can adjust one time, then have to turn it off and back on again.
the .staticTrait is added
there is no .adjustable trait
Additional Information that may be relevant:
this is how I'm making the slider and where the a11y representation is being used:
GeometryReader { geometry in
ZStack(alignment: Alignment(horizontal: .leading, vertical: .center)) {
RoundedRectangle(cornerRadius: 20)
.frame(minHeight: 44)
.foregroundStyle(self.trackGradient)
.overlay(
RoundedRectangle(cornerRadius: 30)
.foregroundColor(.clear)
.shadow(color: .black, radius: 5)
.clipShape(RoundedRectangle(cornerRadius: 30))
)
HStack {
RoundedRectangle(cornerRadius: 50)
.frame(width: self.thumbSize.width, height: self.thumbSize.height)
.foregroundColor(.white)
.offset(x: lastOffset)
.shadow(radius: 8)
.gesture(
DragGesture(minimumDistance: 0.1)
.onChanged { value in
if value.location.x >= 0 && value.location.x <= geometry.size.width - self.thumbSize.width {
self.lastOffset = value.location.x
let sliderPosition = max(0 + self.leadingOffset, min(self.lastOffset + value.translation.width, geometry.size.width - self.trailingOffset))
let sliderValue = sliderPosition.map(from: self.leadingOffset...(geometry.size.width - self.trailingOffset), to: self.range)
self.value = sliderValue
}
}
)
}
}
.accessibilityRepresentation {
Slider(value: $value, in: 0...12, step: 1.0) {
// Text("Window Distance")
}
}
}
}
And finally, here's the view where the CustomSlider lives...
var body: some View {
VStack {
HStack(alignment: .center) {
Text("Window Distance")
.font(.body)
Spacer()
Text($value.wrappedValue == 0 ? "In window" : "\(Int($value.wrappedValue)) ft.")
}
// .accessibilityElement(children: .ignore)
// I've experimented with this .ignore trait so that once the a11yRepresentation is working correctly, we won't have redundant info
CustomSlider(value: $value)
// .accessibilityElement(children: .contain)
// I've tried also adding the .contain behavior here because I thought that maybe we'd want to ignore the texts and contain the custom slider view since it should have all the a11y info we need in the a11y representation
Spacer()
}
.padding(.vertical)
.padding(.bottom)
.padding(.bottom)
.accessibilityElement(children: .combine)
}
Has anyone had a similar issue before?
Thanks, everyone!