UPGRADE YOUR SKILLS: Learn advanced Swift and SwiftUI on Hacking with Swift+! >>

What you learned

If everything is going to plan you should be starting to find the code for these projects easier and easier. That’s not to say it’s all plain sailing from now on – there are still some tough things to learn! – but it does show that your skills are advancing and you’re starting to retain what you’ve learned.

Let’s recap what you’ve learned in this milestone:

  • You met CLLocationManager from the Core Location framework, which is the central point for location permissions and updates in iOS.
  • You learned to set “Always” or “When in use” in your Info.plist, so that iOS can show a meaningful permission request to your user.
  • We used CLBeaconRegion to scan for a particular iBeacon, using a UUID, major number, and minor number. That’s enough to identify anywhere in the world uniquely.
  • When a beacon was being ranged, we used CLProximity to determine how close it was. iBeacons use extremely low signal strengths to preserve battery life, so the proximity levels are quite vague!
  • You learned how to draw custom paths using UIBezierPath, then render them in SpriteKit using SKShapeNode – we used these to draw the swiping glow effect in Swifty Ninja.
  • We made the bomb sound play using AVAudioPlayer, because we wanted to be able to stop it at any point. In project 36 you’ll learn about SKAudioNode, which is able to achieve similar results.
  • You learned how Swift strings are more than just arrays of characters, which is why we can’t write someString[3] by default.
  • We looked at common methods of String and added some more of our own using extensions.
  • I introduced you to NSAttributedString, and how it lets us add colors, fonts, and more to text.
Hacking with Swift is sponsored by RevenueCat

SPONSORED Take the pain out of configuring and testing your paywalls. RevenueCat's Paywalls allow you to remotely configure your entire paywall view without any code changes or app updates.

Learn more here

Sponsor Hacking with Swift and reach the world's largest Swift community!

BUY OUR BOOKS
Buy Pro Swift Buy Pro SwiftUI Buy Swift Design Patterns Buy Testing Swift Buy Hacking with iOS Buy Swift Coding Challenges Buy Swift on Sundays Volume One Buy Server-Side Swift Buy Advanced iOS Volume One Buy Advanced iOS Volume Two Buy Advanced iOS Volume Three Buy Hacking with watchOS Buy Hacking with tvOS Buy Hacking with macOS Buy Dive Into SpriteKit Buy Swift in Sixty Seconds Buy Objective-C for Swift Developers Buy Beyond Code

Was this page useful? Let us know!

 
Unknown user

You are not logged in

Log in or create account
 

Link copied to your pasteboard.