# SwiftUI Apprentice

**URL:** https://forums.kodeco.com/c/books/swiftui-apprentice/79.md

[Latest](https://forums.kodeco.com/latest.md) · [Categories](https://forums.kodeco.com/categories.md) · [Tags](https://forums.kodeco.com/tags.md)

---

## [About the SwiftUI Apprentice category](https://forums.kodeco.com/t/about-the-swiftui-apprentice-category/140878)

<div class="topic-metadata">

**Author:** [@jellodiil](https://forums.kodeco.com/u/jellodiil)\
**Replies:** 10\
**Last updated:** [May 2, 2023, 3:01am UTC](https://forums.kodeco.com/t/about-the-swiftui-apprentice-category/140878 "2023-05-02T03:01:25Z")

</div>

This is the official forum for our book, SwiftUI Apprentice, available here: raywenderlich.com/books/swiftui-apprentice

---

## [Extracting subview not available](https://forums.kodeco.com/t/extracting-subview-not-available/214479)

<div class="topic-metadata">

**Author:** [@lesormonde](https://forums.kodeco.com/u/lesormonde)\
**Replies:** 1\
**Last updated:** [June 11, 2026, 2:16am UTC](https://forums.kodeco.com/t/extracting-subview-not-available/214479 "2026-06-11T02:16:19Z")

</div>

Page 104 of Swiftui Apprentice (v.3) refers to extracting a subview by right clicking a VStack. As I understand it, the ability to do this has not been available in Xcode for quite a while.

---

## [Dumb question re starter project](https://forums.kodeco.com/t/dumb-question-re-starter-project/214382)

<div class="topic-metadata">

**Author:** [@lesormonde](https://forums.kodeco.com/u/lesormonde)\
**Replies:** 1\
**Last updated:** [June 4, 2026, 1:25am UTC](https://forums.kodeco.com/t/dumb-question-re-starter-project/214382 "2026-06-04T01:25:43Z")

</div>

Hi, just started SwiftUI Apprentice. On page 67, the instruction is to “open the starter project for this chapter”. How do I do that? I can see the github pages and the individual files but there doesn’t appear to be a m…

---

## [Chapter 13 Feedback](https://forums.kodeco.com/t/chapter-13-feedback/194205)

<div class="topic-metadata">

**Author:** [@james.kettner](https://forums.kodeco.com/u/james.kettner)\
**Replies:** 3\
**Last updated:** [January 25, 2026, 3:03pm UTC](https://forums.kodeco.com/t/chapter-13-feedback/194205 "2026-01-25T15:03:47Z")

</div>

Great book Audrey, Caroline, et al. Very informative. I’m hoping the following feedback on Ch 13 is useful… Under “Creating a Full Screen Modal View” “Add a modifier to CardThumbnail():” - It would have been clearer …

---

## [Errata for SwiftUI Apprentice 3rd Edition](https://forums.kodeco.com/t/errata-for-swiftui-apprentice-3rd-edition/210231)

<div class="topic-metadata">

**Author:** [@jellodiil](https://forums.kodeco.com/u/jellodiil)\
**Replies:** 5\
**Last updated:** [January 7, 2026, 5:48am UTC](https://forums.kodeco.com/t/errata-for-swiftui-apprentice-3rd-edition/210231 "2026-01-07T05:48:10Z")

</div>

Creating this topic to catch any typos and bugs in the 3rd Edition of SwiftUI Apprentice.

---

## [Why isn't the 3rd edition available for download?](https://forums.kodeco.com/t/why-isnt-the-3rd-edition-available-for-download/210269)

<div class="topic-metadata">

**Author:** [@chazmanian](https://forums.kodeco.com/u/chazmanian)\
**Replies:** 17\
**Last updated:** [July 17, 2025, 6:02pm UTC](https://forums.kodeco.com/t/why-isnt-the-3rd-edition-available-for-download/210269 "2025-07-17T18:02:34Z")

</div>

There doesn’t seem to be an option to download the PDF version of the third edition.

---

## [Chapter 6. Observing Objects](https://forums.kodeco.com/t/chapter-6-observing-objects/210863)

<div class="topic-metadata">

**Author:** [@jasonh2023](https://forums.kodeco.com/u/jasonh2023)\
**Replies:** 4\
**Last updated:** [April 18, 2025, 8:18pm UTC](https://forums.kodeco.com/t/chapter-6-observing-objects/210863 "2025-04-18T20:18:03Z")

</div>

Hi I am wondering why this chapter is using the old @ObservableObject with @Published instead of the new @Observable? Is there going to be an updated version of the book that uses the new syntax?

---

## [Ch. 07 page 171 Exit App not working](https://forums.kodeco.com/t/ch-07-page-171-exit-app-not-working/206078)

<div class="topic-metadata">

**Author:** [@oleamichael](https://forums.kodeco.com/u/oleamichael)\
**Replies:** 2\
**Last updated:** [August 26, 2024, 3:42pm UTC](https://forums.kodeco.com/t/ch-07-page-171-exit-app-not-working/206078 "2024-08-26T15:42:23Z")

</div>

Hi. On page 171 of chapter 7 in the discussion on Restoring Scene State With SceneStorage there is the following instruction: Exit the app in Simulator by swiping up from the bottom. That doesn’t seem to work. No amoun…

---

## [Ch. 2 - Unable to see automatic interaction between canevas (in selectable mode) and editor pane](https://forums.kodeco.com/t/ch-2-unable-to-see-automatic-interaction-between-canevas-in-selectable-mode-and-editor-pane/204900)

<div class="topic-metadata">

**Author:** [@jaypeedoo](https://forums.kodeco.com/u/jaypeedoo)\
**Replies:** 1\
**Last updated:** [June 12, 2024, 10:37pm UTC](https://forums.kodeco.com/t/ch-2-unable-to-see-automatic-interaction-between-canevas-in-selectable-mode-and-editor-pane/204900 "2024-06-12T22:37:12Z")

</div>

Any suggestion? /just to make it 20 + characters/

---

## [Chapter 6: Using Timeline View, onChange generally](https://forums.kodeco.com/t/chapter-6-using-timeline-view-onchange-generally/201902)

<div class="topic-metadata">

**Author:** [@shizam](https://forums.kodeco.com/u/shizam)\
**Replies:** 3\
**Last updated:** [February 24, 2024, 11:30pm UTC](https://forums.kodeco.com/t/chapter-6-using-timeline-view-onchange-generally/201902 "2024-02-24T23:30:31Z")

</div>

When setting up TimerView and CountdownView you have CountdownTimer own updating timeRemaining with var body: some View { Text("\\(timeRemaining)") // 5 .font(.system(size: size, design: .rounded…

---

## [Chapter 11: Missing ThingStore file](https://forums.kodeco.com/t/chapter-11-missing-thingstore-file/200369)

<div class="topic-metadata">

**Author:** [@gaspare92](https://forums.kodeco.com/u/gaspare92)\
**Replies:** 1\
**Last updated:** [December 11, 2023, 2:16pm UTC](https://forums.kodeco.com/t/chapter-11-missing-thingstore-file/200369 "2023-12-11T14:16:54Z")

</div>

Am I doing something wrong or both starter and final folders miss ThingStore file?

---

## [Chapter 7 p202 AppStorage with Private Var - Why does it not overwrite on each app load](https://forums.kodeco.com/t/chapter-7-p202-appstorage-with-private-var-why-does-it-not-overwrite-on-each-app-load/200195)

<div class="topic-metadata">

**Author:** [@scottxxxxx](https://forums.kodeco.com/u/scottxxxxx)\
**Replies:** 2\
**Last updated:** [December 7, 2023, 3:24pm UTC](https://forums.kodeco.com/t/chapter-7-p202-appstorage-with-private-var-why-does-it-not-overwrite-on-each-app-load/200195 "2023-12-07T15:24:41Z")

</div>

On page 202, why does this not cause the ratings string stored in User Defaults to be overwritten with “0000” each time the app is launched? @AppStorage(“ratings”) private var ratings = “0000” If I run the app and set…

---

## [Prior knowledge?](https://forums.kodeco.com/t/prior-knowledge/197614)

<div class="topic-metadata">

**Author:** [@ceramo89](https://forums.kodeco.com/u/ceramo89)\
**Replies:** 4\
**Last updated:** [October 11, 2023, 12:48pm UTC](https://forums.kodeco.com/t/prior-knowledge/197614 "2023-10-11T12:48:39Z")

</div>

Hello, Do you need any prior knowledge of ( other ) programming/development in order to start this book? I’m kind of confused/lost, having bought this book ( paperback ) and there’s being talked about a git repository, …

---

## [Improvement suggestion for Chapter 7](https://forums.kodeco.com/t/improvement-suggestion-for-chapter-7/194743)

<div class="topic-metadata">

**Author:** [@phaibin](https://forums.kodeco.com/u/phaibin)\
**Replies:** 1\
**Last updated:** [September 11, 2023, 3:36am UTC](https://forums.kodeco.com/t/improvement-suggestion-for-chapter-7/194743 "2023-09-11T03:36:11Z")

</div>

Under the section: “Making Ratings Reactive” Add a new modifier to Image: .onChange(of: ratings) { \_ in convertRating() } This code should be added to HStack. If you add it to Image, it will run 5 times each time th…

---

## [Cannot Preview in this file errors](https://forums.kodeco.com/t/cannot-preview-in-this-file-errors/155888)

<div class="topic-metadata">

**Author:** [@jazzman4204](https://forums.kodeco.com/u/jazzman4204)\
**Replies:** 10\
**Last updated:** [July 30, 2023, 2:12am UTC](https://forums.kodeco.com/t/cannot-preview-in-this-file-errors/155888 "2023-07-30T02:12:25Z")

</div>

Hello, I keep getting “Cannot preview in this file - active scheme does not build this file” errors frequently when starting a starter project for each chapter. Sometimes doing a clean then build fixes it, sometimes cl…

---

## [Unable to download below item](https://forums.kodeco.com/t/unable-to-download-below-item/187718)

<div class="topic-metadata">

**Author:** [@dailypunch73](https://forums.kodeco.com/u/dailypunch73)\
**Replies:** 5\
**Last updated:** [May 29, 2023, 4:39pm UTC](https://forums.kodeco.com/t/unable-to-download-below-item/187718 "2023-05-29T16:39:52Z")

</div>

Unable to download below CheatSheet.

---

## [How does onChange work? (Chapter 6. Using Timeline View)](https://forums.kodeco.com/t/how-does-onchange-work-chapter-6-using-timeline-view/187563)

<div class="topic-metadata">

**Author:** [@junhan\_line](https://forums.kodeco.com/u/junhan_line)\
**Replies:** 2\
**Last updated:** [May 23, 2023, 6:14am UTC](https://forums.kodeco.com/t/how-does-onchange-work-chapter-6-using-timeline-view/187563 "2023-05-23T06:14:10Z")

</div>

During the learning chapter 6, I couldn’t understand how the onChange works in CountdownView. var body: some View { Text(“(timeRemaining)”) // 5 .font(.system(size: size, design: .rounded)) .padding() .onChange(of:…

---

## [Medium height modal sheet on iPhone (Chapter 5)](https://forums.kodeco.com/t/medium-height-modal-sheet-on-iphone-chapter-5/187196)

<div class="topic-metadata">

**Author:** [@abil02](https://forums.kodeco.com/u/abil02)\
**Replies:** 2\
**Last updated:** [May 12, 2023, 4:26pm UTC](https://forums.kodeco.com/t/medium-height-modal-sheet-on-iphone-chapter-5/187196 "2023-05-12T16:26:01Z")

</div>

Hello everyone, struct SuccessView\_Previews: PreviewProvider { static var previews: some View { SuccessView(selectedTab: .constant(3)) .presentationDetents(\[.medium, .large\]) } but it does n…

---

## [Can not access this book with personal subscription](https://forums.kodeco.com/t/can-not-access-this-book-with-personal-subscription/186943)

<div class="topic-metadata">

**Author:** [@huskerwr38](https://forums.kodeco.com/u/huskerwr38)\
**Replies:** 3\
**Last updated:** [May 4, 2023, 4:52pm UTC](https://forums.kodeco.com/t/can-not-access-this-book-with-personal-subscription/186943 "2023-05-04T16:52:23Z")

</div>

I have a personal subscription, yet when I try to read this book the page says “Read for Free with the Beginner subscription” and all chapters are scrambled (except Ch1). One other person confirmed they are having the s…

---

## [CH. 4 - History View - Date Format issues](https://forums.kodeco.com/t/ch-4-history-view-date-format-issues/157181)

<div class="topic-metadata">

**Author:** [@neilw](https://forums.kodeco.com/u/neilw)\
**Replies:** 3\
**Last updated:** [April 29, 2023, 1:06pm UTC](https://forums.kodeco.com/t/ch-4-history-view-date-format-issues/157181 "2023-04-29T13:06:55Z")

</div>

I am having trouble getting the date format to work. Code in the book… Form { Section( header: Text(today.formatted(as: “MMM d”)) ERROR → Argument passed to call that takes no arguments. .font(.headline)) { // Se…

---

## [Version 2.0 List of Changes](https://forums.kodeco.com/t/version-2-0-list-of-changes/186637)

<div class="topic-metadata">

**Author:** [@brettb](https://forums.kodeco.com/u/brettb)\
**Replies:** 2\
**Last updated:** [April 25, 2023, 2:41am UTC](https://forums.kodeco.com/t/version-2-0-list-of-changes/186637 "2023-04-25T02:41:30Z")

</div>

I’m just wondering if there is a list of changes in version 2.0 of the book compared to version 1.0. I’ve been going through 1.0 for a while now in my spare time and just wondering if its worth starting over with V2.0 o…

---

## [Errata for SwiftUI Apprentice 2nd Edition](https://forums.kodeco.com/t/errata-for-swiftui-apprentice-2nd-edition/186426)

<div class="topic-metadata">

**Author:** [@jellodiil](https://forums.kodeco.com/u/jellodiil)\
**Replies:** 0\
**Last updated:** [April 19, 2023, 12:00am UTC](https://forums.kodeco.com/t/errata-for-swiftui-apprentice-2nd-edition/186426 "2023-04-19T00:00:22Z")

</div>

Creating this topic to catch any typos and bugs in the 2nd Edition of SwiftUI Apprentice.

---

## [Chapter 5: Moving development code into Preview Content](https://forums.kodeco.com/t/chapter-5-moving-development-code-into-preview-content/182830)

<div class="topic-metadata">

**Author:** [@kevinding](https://forums.kodeco.com/u/kevinding)\
**Replies:** 4\
**Last updated:** [January 17, 2023, 6:17am UTC](https://forums.kodeco.com/t/chapter-5-moving-development-code-into-preview-content/182830 "2023-01-17T06:17:39Z")

</div>

There are some errors in the code of the part. The code in the book: ... Ecercise.exercises\[0\], ... should be: Ecercise.excercises\[0\].exerciseName

---

## [Page 72 - Videos?](https://forums.kodeco.com/t/page-72-videos/182119)

<div class="topic-metadata">

**Author:** [@keith99](https://forums.kodeco.com/u/keith99)\
**Replies:** 2\
**Last updated:** [December 27, 2022, 4:37pm UTC](https://forums.kodeco.com/t/page-72-videos/182119 "2022-12-27T16:37:28Z")

</div>

I’m on page 72 of the book and it is referring to videos in the Videos folder. I’ve downloaded the stuff from this link: GitHub - kodecocodes/suia-materials: The projects and the materials that accompany the SwiftUI Appr…

---

## [When will SwiftUI Apprentice be updated to iOS 16?](https://forums.kodeco.com/t/when-will-swiftui-apprentice-be-updated-to-ios-16/179337)

<div class="topic-metadata">

**Author:** [@marc\_b](https://forums.kodeco.com/u/marc_b)\
**Replies:** 7\
**Last updated:** [December 27, 2022, 3:51pm UTC](https://forums.kodeco.com/t/when-will-swiftui-apprentice-be-updated-to-ios-16/179337 "2022-12-27T15:51:30Z")

</div>

The current book is for iOS 14, which is now 2 versions old. When can I expect an updated version? Does the current book still work for iOS 16?

---

## [Ch. 22 Lists & Navigation - Setting UINavigationBar Tint Color has no effect](https://forums.kodeco.com/t/ch-22-lists-navigation-setting-uinavigationbar-tint-color-has-no-effect/180665)

<div class="topic-metadata">

**Author:** [@gcheong](https://forums.kodeco.com/u/gcheong)\
**Replies:** 2\
**Last updated:** [November 4, 2022, 11:25pm UTC](https://forums.kodeco.com/t/ch-22-lists-navigation-setting-uinavigationbar-tint-color-has-no-effect/180665 "2022-11-04T23:25:31Z")

</div>

This line for setting the tint color on the UINavigationBar does not change the back button text and arrow color to white (preview, simulator, on device). UINavigationBar.appearance().tintColor = .white XCode 14.1 (14B…

---

## [Errata for SwiftUI Apprentice 1st Edition](https://forums.kodeco.com/t/errata-for-swiftui-apprentice-1st-edition/140879)

<div class="topic-metadata">

**Author:** [@jellodiil](https://forums.kodeco.com/u/jellodiil)\
**Replies:** 5\
**Last updated:** [July 6, 2021, 7:59am UTC](https://forums.kodeco.com/t/errata-for-swiftui-apprentice-1st-edition/140879 "2021-07-06T07:59:31Z")

</div>

Creating this topic to catch any typos and bugs in the 1st Edition of SwiftUI Apprentice!

---

## [\[Chapter 8: Saving Settings\] How to build an app bundle in chapter 8](https://forums.kodeco.com/t/chapter-8-saving-settings-how-to-build-an-app-bundle-in-chapter-8/176294)

<div class="topic-metadata">

**Author:** [@nghiaphamsg](https://forums.kodeco.com/u/nghiaphamsg)\
**Replies:** 2\
**Last updated:** [August 5, 2022, 4:16pm UTC](https://forums.kodeco.com/t/chapter-8-saving-settings-how-to-build-an-app-bundle-in-chapter-8/176294 "2022-08-05T16:16:32Z")

</div>

Hi Team Can you give more instructions on this step? I still don’t know how to generate HIITFit.app & my project here:

---

## [Can't Print Document Directory and find UserDefaults plist](https://forums.kodeco.com/t/cant-print-document-directory-and-find-userdefaults-plist/146262)

<div class="topic-metadata">

**Author:** [@gaspare92](https://forums.kodeco.com/u/gaspare92)\
**Replies:** 2\
**Last updated:** [August 17, 2021, 6:13pm UTC](https://forums.kodeco.com/t/cant-print-document-directory-and-find-userdefaults-plist/146262 "2021-08-17T18:13:54Z")

</div>

Chapter 8: Saving Settings. I’m trying to print the document directory by adding .onAppear modifier but nothing is printed on the console. import SwiftUI @main struct HIITFitApp: App { var body: some Scene { Win…

---

## [Chapter 20 Button Shape Expands in Live Preview](https://forums.kodeco.com/t/chapter-20-button-shape-expands-in-live-preview/171283)

<div class="topic-metadata">

**Author:** [@zenzat22](https://forums.kodeco.com/u/zenzat22)\
**Replies:** 2\
**Last updated:** [May 18, 2022, 12:49am UTC](https://forums.kodeco.com/t/chapter-20-button-shape-expands-in-live-preview/171283 "2022-05-18T00:49:56Z")

</div>

Thank you for writing such an incredible resource for aspiring iOS dev’s. I’m absolutely loving the book! I’ve completed other tutorials/books that avoid or overlook important detail you cover that has provided much deep…

[Next page](https://forums.kodeco.com/c/books/swiftui-apprentice/79.md?page=1)
