Swift Student Challenge

RSS for tag

Ask questions and connect with other challenge applicants.

Swift Student Challenge Documentation

Pinned Posts

Posts under Swift Student Challenge tag

192 Posts
Sort by:
Post not yet marked as solved
0 Replies
66 Views
so my code is: import UIKit class CanvasView: UIView { let originX: CGFloat = 150 let originY: CGFloat = 300 let squareSide: CGFloat = 100 var rubiksCubeDelegate: RubiksCubeDelegate? = nil var fromCol: Int = -1 var fromRow: Int = -1 override func draw(_ rect: CGRect) { drawFront() drawTop() drawRight() } override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { let firstTouch = touches.first! let fingerLocation = firstTouch.location(in: self) fromCol = Int((fingerLocation.x - originX) / squareSide) fromRow = Int((fingerLocation.y - originY) / squareSide) } override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) { let firstTouch = touches.first! let fingerLocation = firstTouch.location(in: self) let toCol: Int = Int((fingerLocation.x - originX) / squareSide) let toRow: Int = Int((fingerLocation.y - originY) / squareSide) print("V: from (\(fromCol), \(fromRow) to (\(toCol), \(toRow))") rubiksCubeDelegate?.moveFinger(fromCol: fromCol, fromRow: fromRow, toCol: toCol, toRow: toRow) } func drawFront() { drawsquare(col: 0, row: 0, color: .green) drawsquare(col: 1, row: 0, color: .orange) drawsquare(col: 2, row: 0, color: .blue) drawsquare(col: 0, row: 1, color: .white) drawsquare(col: 1, row: 1, color: .yellow) drawsquare(col: 2, row: 1, color: .red) drawsquare(col: 0, row: 2, color: .green) drawsquare(col: 1, row: 2, color: .blue) drawsquare(col: 2, row: 2, color: .orange) } func drawTop() { drawTopParallelogram(col: 0, row: 0, color: .red) drawTopParallelogram(col: 0, row: 1, color: .blue) drawTopParallelogram(col: 0, row: 2, color: .green) drawTopParallelogram(col: 1, row: 0, color: .yellow) drawTopParallelogram(col: 1, row: 1, color: .red) drawTopParallelogram(col: 1, row: 2, color: .white) drawTopParallelogram(col: 2, row: 0, color: .blue) drawTopParallelogram(col: 2, row: 1, color: .orange) drawTopParallelogram(col: 2, row: 2, color: .green) } func drawRight() { drawRightParallelogram(col: 0, row: 0, color: .orange) drawRightParallelogram(col: 1, row: 0, color: .red) drawRightParallelogram(col: 2, row: 0, color: .red) drawRightParallelogram(col: 0, row: 1, color: .blue) drawRightParallelogram(col: 1, row: 1, color: .orange) drawRightParallelogram(col: 2, row: 1, color: .white) drawRightParallelogram(col: 0, row: 2, color: .white) drawRightParallelogram(col: 1, row: 2, color: .blue) drawRightParallelogram(col: 2, row: 2, color: .green) } func drawRightParallelogram(col: Int, row: Int,color: CubeColor) { colorOf(color: color).setFill() let topLeftX: CGFloat = originX + 3 * squareSide + CGFloat(col) * squareSide/2 let topLeftY: CGFloat = originY - CGFloat(col) * squareSide/2 + CGFloat(row) * squareSide let path = UIBezierPath() path.move(to: CGPoint(x: topLeftX, y: topLeftY)) path.addLine(to: CGPoint(x: topLeftX + squareSide/2, y: topLeftY - squareSide/2)) path.addLine(to: CGPoint(x: topLeftX + squareSide/2, y: topLeftY + squareSide/2)) path.addLine(to: CGPoint(x: topLeftX, y: topLeftY + squareSide)) path.close() path.fill() path.stroke() } func drawTopParallelogram(col: Int, row: Int,color: CubeColor) { colorOf(color: color).setFill() let bottomLeftX: CGFloat = originX + CGFloat(col) * squareSide + CGFloat(2 - row) * squareSide/2 let bottomLeftY: CGFloat = originY + CGFloat(row - 2)*squareSide/2 let path = UIBezierPath() path.move(to: CGPoint(x: bottomLeftX, y: bottomLeftY )) path.addLine(to: CGPoint(x: bottomLeftX + squareSide/2,y: bottomLeftY - squareSide/2)) path.addLine(to: CGPoint(x: bottomLeftX + squareSide/2 + squareSide, y: bottomLeftY - squareSide/2)) path.addLine(to: CGPoint(x: bottomLeftX + squareSide, y: bottomLeftY)) path.close() path.fill() path.stroke() } func drawsquare(col: Int, row: Int,color: CubeColor) { colorOf(color: color).setFill() let squareX: CGFloat = originX + CGFloat(col) * squareSide let squareY: CGFloat = originY + CGFloat(row) * squareSide let square = UIBezierPath(rect: CGRect(x: squareX, y:squareY, width:squareSide, height:squareSide)) square.fill() square.stroke() } func colorOf(color: CubeColor) -> UIColor { var c: UIColor = .black switch color { case .blue: c = UIColor.blue case .green: c = UIColor.green case .orange: c = UIColor.orange case .red: c = UIColor.red case .white: c = UIColor.white case .yellow: c = UIColor.yellow } return c } } at "func drawFront() {" it said "Thread 1: breakpoint 1.1 (1)" can any one help me fix this the app is always pausing
Posted
by linyipan.
Last updated
.
Post not yet marked as solved
1 Replies
180 Views
Since there is no theme for the Swift Student Challenge, could we prepare an app far ahead in advance? Like, work on the 2025 challenge right now?
Posted
by -AD-.
Last updated
.
Post not yet marked as solved
0 Replies
114 Views
My app has a view that appears from a NavigationLink. The view has a list and a search bar; when a user taps the search bar the keyboard appears correctly. BUT, the entire view, including the navigationBarTitle and the navigationBarBackButton, move upward. This causes the navigationBarTitle and the navigationBarBackButton to move under the notch, where the back button doesn't work. To use the back button the user has to dismiss the keyboard with the return key, which moves the navigationBarTitle and back button downward and then tap the back button. This cannot be an uncommon situation, but I've spent the morning trying to find a way to prevent the NavigationBarTitle and <back button from moving upward where the user can't use the <back button when the keyboard appears. Is there a way to too that?
Posted
by jzumsteg.
Last updated
.
Post not yet marked as solved
0 Replies
140 Views
We have a teleprompter scrolling app that has worked fine up through OS Ventura. Now in Sonoma the text starts to slow down after 20-30 seconds, then if left alone ends up coming to a complete stop after 2-3 minutes and is frozen until we restart the scrolling. An odd work around, not a fix, is that when we switch the display from dark mode to light mode it will restart the scrolling as if we manually stopped and restarted. It was built in Swift Storyboard/Xcode 15 and we have been testing on MacBooks with Intel, Silicon, M1, M2 . OS Sonoma is the only common denominator in which we experience the issue. We submitted a case to Apple yesterday but has anyone else experienced similar issues and heard of a fix?
Posted
by Dklee99.
Last updated
.
Post not yet marked as solved
0 Replies
412 Views
Swift Student Challenge 2024: Swift Student Challenge main page Swift Student Challenge > Eligibility Swift Student Challenge > Terms and Conditions, aka the fine print News and Updates > Announcing the Swift Student Challenge 2024 News and Updates > Swift Student Challenge applications open February 5 News and Updates > Apply for the Swift Student Challenge now through February 25 Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = "eskimo" + "1" + "@" + "apple.com"
Posted
by eskimo.
Last updated
.
Post not yet marked as solved
3 Replies
563 Views
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"
Posted
by eskimo.
Last updated
.
Post not yet marked as solved
3 Replies
485 Views
Hi! While working on my Swift Student Challenge submission it seems that I found a race condition (TOCTOU) bug in SwiftUI when using sheets, and I'm not sure if this is expected behaviour or not. Here's an example code: import SwiftUI struct ContentView: View { @State var myVar: Int? @State private var presentSheet: Bool = false var body: some View { VStack { // Uncommenting the following Text() view will "fix" the bug (kind of, see a better workaround below). // Text("The value is \(myVar == nil ? "nil" : "not nil")") Button { myVar = nil } label: { Text("Set value to nil.") } Button { myVar = 1 presentSheet.toggle() } label: { Text("Set value to 1 and open sheet.") } } .sheet(isPresented: $presentSheet, content: { if myVar == nil { Text("The value is nil") .onAppear { print(myVar) // prints Optional(1) } } else { Text("The value is not nil") } }) } } When opening the app and pressing the open sheet button, the sheet shows "The value is nil", even though the button sets myVar to 1 before the presentSheet Bool is toggled. Thankfully, as a workaround to this bug, I found out you can change the sheet's view to this: .sheet(isPresented: $presentSheet, content: { if myVar == nil { Text("The value is nil") .onAppear { if myVar != nil { print("Resetting View (TOCTOU found)") let mySwap = myVar myVar = nil myVar = mySwap } } } else { Text("The value is not nil") } }) This triggers a view refresh by setting the variable to nil and then to its non-nil value again if the TOCTOU is found. Do you think this is expected behaivor? Should I report a bug for this? This bug also affects .fullScreenCover() and .popover().
Posted
by CMDdev.
Last updated
.
Post not yet marked as solved
3 Replies
286 Views
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 :)
Posted Last updated
.
Post not yet marked as solved
1 Replies
226 Views
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?
Posted Last updated
.
Post not yet marked as solved
1 Replies
257 Views
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.
Posted Last updated
.
Post not yet marked as solved
1 Replies
293 Views
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!
Posted
by mosafa1.
Last updated
.
Post not yet marked as solved
4 Replies
261 Views
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?
Posted Last updated
.
Post not yet marked as solved
2 Replies
192 Views
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() }
Posted
by Jeanbzh.
Last updated
.
Post not yet marked as solved
1 Replies
175 Views
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
Posted
by Jeanbzh.
Last updated
.
Post not yet marked as solved
1 Replies
277 Views
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?
Posted
by mrk09.
Last updated
.
Post not yet marked as solved
0 Replies
208 Views
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
Posted
by serlic.
Last updated
.