NEW: My new book Pro SwiftUI is out now – level up your SwiftUI skills today! >>

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 Stream

SPONSORED Build Chat messaging quickly with Stream Chat. The Stream iOS Chat SDK is highly flexible, customizable, and crazy optimized for performance. Take advantage of this top-notch developer experience, get started for free today!

Click here

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

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.