I'm creating a playground for SSC, and I'm using a lot of the new frameworks and capablities introduced in WWDC 2023, including @Observation, SwiftData, phaseAnimator...etc.
Checking the forums just now, I see some people claiming the app should run on iOS 16 as well, so I revert the deployment destination from iOS 17 to iOS 16 in Package.swift, and now I have 150+ errors in my app playground. I know I can use #if available to write alternative code for earlier iOS versions but it feels like a redundancy since the app will be judged by Apple engineers who most likely have iOS 17 running on their devices, and since the judging process, I assume, takes into account the number of new technologies utilised.
Should I write '#if available else' statements for the entire app playground, keep the deployment destination as iOS 17, or change the technologies used to iOS 16 or earlier (@observed object, CoreData...etc)? Which option is safer given that I only have less than 5 days left?
Swift Student Challenge
RSS for tagDiscuss Swift Student Challenge.
Post
Replies
Boosts
Views
Activity
Hello there,
Are we allowed to use iOS 17 features if they’re wrapped in an ‘if #available(iOS 17, *)’ check? I.e. the app would still function fine on iOS 16, but perhaps have an optional feature that works slightly better on iOS 17”
Thanks!
Hi, I am a Japanese student entering the swift student challenge this year.
Will Apple be able to recognize my ID card, which is in JAPANESE, as a proof of my enrollment?
The submission page states that
To verify your student status, provide a PDF, PNG, or JPEG of your class schedule, other proof of enrollment, or proof of graduation within the past 6 months.
Make sure the documentation clearly shows:
Your name,
The organization or school name, and
The dates showing that it’s valid.
In my ID. card, my name is written in Japanese , but other texts have subtitles in English, such as "Date of Birth" written under the Japanese. It also does not say the name of the school in English, only Japanese.
I'm looking through all the latest posts to clarify a doubt I have, I noticed @eskimo's response claiming that the app must be built and run on iPadOS 16 or later. So I suppose it's okay to create an app that has SwiftData as the framework even if that dictates that the app will run on iOS 17; Also because when you create a new project in Swift Playgrounds 4.4.1 (latest version available at the moment) the target is set to iOS 17.2 automatically and technically you can't edit Package.swift file manually.
Thanks in advance ❤️
Hello!
With Swift Student Challenge submissions on Saturday, does anybody mind letting me know how to implement CoreML (I have a model trained in CreateML already) in the SwiftPM format?
Thanks!
Hello! For my Swift Student Challenge 2024 Project I'm using some Illustrations from OpenDoodles (opendoodles.com). Open doodles is free for commercial and personal use and the creator has no copyright claimed. My question is whether I have to clarify the use of these Illustration when submitting the project.
Hey, everyone!
I've been testing my .swiftpm app on an iPhone. If you're wondering about how I made the connections, I used a cable plugged into my Mac so that Xcode could communicate with the phone. Do you think that evaluators of the app will be alright with this method of testing it out as well?
I'm particularly leaning towards the iPhone platform because my app requires a pedometer.
Thanks!
Ethan
Hello,
I’ve been trying to play system sounds in my app, but this hasn’t really been working. I am frequently switching between speech recognition (Speech framework) and sounds, so perhaps that’s where the issue lies. However, despite my best efforts, I haven't been able to solve the issue. I've been resetting the AVAudioSession category before playing a sound or starting speech recognition (as depicted in the code snippet below), to no avail. Has this happened to anyone else? Does anybody know how to fix the issue?
recognizer = nil
try? AVAudioSession.sharedInstance().setCategory(.playback, mode: .default, options: [])
try? AVAudioSession.sharedInstance().setActive(true)
AudioServicesPlaySystemSound(1113)
try? AVAudioSession.sharedInstance().setCategory(.record, mode: .spokenAudio, options: [])
try? AVAudioSession.sharedInstance().setActive(true)
recognizer = SpeechRecognition(word: wordSheet)
recognizer!.startRecognition()
Thank you.
The eagle-eyed amongst you might have noticed a recent change to the information about deployment targets in the Swift Student Challenge fine print. Here’s a short FAQ about that. If you have any follow-up questions, post them below and I’ll answer them there.
Can I use iPadOS 17 APIs in my submission?
Yes. We expect to review your submission on the latest public release of iPadOS.
Does that include APIs introduced in a dot release?
Yes.
Right now the latest public release of iPadOS is iPadOS 17.3.1. If your submission relies on an API introduced in, say, iPadOS 17.2, that’s absolutely fine.
My iPad doesn’t support iPadOS 17. Can I ask for a review on iPadOS 16?
iPadOS 17 is generally compatible with iPadOS 16. If we notice problems with your submission on iPadOS 17, we’ll retest it on the latest public release of iPadOS 16.
What about macOS?
It’s basically the same story. So, if your submission targets macOS, we expect to review it on the latest public release.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"
Hi,
I have the following predicate used in a SwiftData Query:
#Predicate<Item> {
searchText.isEmpty || $0.myarray.contains(where: {
$0.text.localizedStandardContains(searchText)
})
})
Even though this compiles, I get the unsupportedKeyPath error in the logs:
Query encountered an error: SwiftData.SwiftDataError(_error: SwiftData.SwiftDataError._Error.unsupportedKeyPath)
I thought I could use .contains(where:) inside predicates, but this doesn't work. What could be the problem?
Item.myarray is an array of a Codable struct type, and searchText is a String.
Hi, I'm using SwiftData in my app with the @available(iOS 17.0, *) annotation. It runs perfectly on iOS 17, but I encounter a weird memory error I can't seem to solve on iOS 16. Can I still submit my app, or will it be disqualified for not running on iOS 16? Thanks!
I just clicked submit on my application to the swift student challenge and it brought me back to the screen where I login in with my developer account. After I logged in again all of the information from my application was gone. Does this mean my application went through or was I supposed to get some type of confirmation email?
Should I leave comments I made in my code or delete them before I submit?
Thanks!
Hi there!
I have been working on a small project to submit to the Swift Student challenge this year, but I noticed when going to submit that there is a checkbox in the submission process that asks:
I certify that I am not working full time as a developer and not employed by Apple in any capacity at the time of application.
Completing three coop terms (internships) is a required part of my program, which are all full-time work- and I am currently in a co-op term.
These are considered "classes" according to my university, but I'm worried that it would be considered as normal developer work in the eyes of Apple.
Am I safe to submit, or will I have to sit this year out?
Thanks,
Simon
I've built an Apple Watch app. And, I'm not able to export it as a playground. Am I screwed? Or is there a way I can still submit it as a .swiftpm?
Hi,
I'd like to separate each paragraph of a text in a list, I'm trying to find how to do it, I know it's certainly a dumb question but I'm new at coding, please be kind haha, may someone help me?
thanks a million
Hello!
I have a question about using the camera in my app.
I created it using Xcode 15 app playground, and it is working properly on iPhone and iPad, the problem is that in the application form, it says that the playground app created in Xcode will be tested in the simulator.
But as we know, the camera does not work in the simulator.
My app uses AR resources and I need to use the camera, how can I proceed?
Can I ask them to test it on a real device?
Hi ! I need help for coding something :
I want a function to erase random words on it, I tried everything found in the internet, nothing's worked. (here's my code : )
Anyone could give an eye to it? Many thanks
struct ContentView: View {
@State private var showScannerSheet = false
@State private var texts:[ScanData] = []
var body: some View {
NavigationView {
ZStack {
Color.white
.ignoresSafeArea()
VStack{
if texts.count > 0{
List{
ForEach(texts){text in
NavigationLink(
destination:ScrollView{Text(text.content)
.padding()},
label: {
Text(text.content).lineLimit(1)
})
}
}
}
else{
Button(action: {
self.showScannerSheet = true
}, label : {
VStack {
Image(systemName: "doc.text.viewfinder")
.resizable()
.frame(width: 200, height: 200)
.font(.title)
VStack {
Text("Scan here to begin !")
}.padding()
}
})
.sheet(isPresented: $showScannerSheet, content: {
makeScannerView()
})
}
}
}
}
}
private func makeScannerView()-> ScannerView {
ScannerView(completion: {
textPerPage in
if let outputText = textPerPage?.joined(separator: "\n").trimmingCharacters(in:
.whitespacesAndNewlines){
let newScanData = ScanData(content: outputText)
self.texts.append(newScanData)
let numberOfWordsToRemove = 5
let modifiedText = removeRandomWordsInScanData(newScanData, numberOfWordsToRemove : numberOfWordsToRemove)
newScanData.content = modifiedText
return ScannerView(completion: {
})
}
self.showScannerSheet = false
})
}
}
#Preview {
ContentView()
}
Hi,
I have submitted my playground for the Swift Student Challenge 2024. As in the competition guidelines it does not state that the app is going to be tested on a certain iPad Pro model- 12.9 or 11. However, my playground is only optimized for 12.9 as there are no specific rules on thee device it is being tested on. I have already submitted my playground so how will I inform the judges which iPad they have to test it on?
Thanks :)
Hello,
I have submitted an application about a day ago before the deadline, but still have not received a confirmation email. I've tried to contact customer service about it, but I haven't gotten an answer back yet. Is there still a chance that they received my application?