Update for sample-backyard-birds

Xcode Beta update, looks like breaking changes in the sample-backyard-birds code related to SwiftData:

https://github.com/apple/sample-backyard-birds

Backyard Birds Command SwiftCompile failed with a nonzero exit code

.../xcode-15-beta-5/sample-backyard-birds/BackyardBirdsUI/Store/BackyardBirdsPassOfferCard.swift .../xcode-15-beta-5/sample-backyard-birds/BackyardBirdsUI/Store/BackyardBirdsPassOfferCard.swift:18:17 'BirdDecoration' initializer is inaccessible due to 'private' protection level

.../xcode-15-beta-5/sample-backyard-birds/BackyardBirdsUI/Store/BackyardBirdsPassOfferCard.swift:18:32 Missing argument for parameter 'birds' in call

.../xcode-15-beta-5/sample-backyard-birds/BackyardBirdsUI/Store/BackyardBirdsPassOfferCard.swift:28:31 Cannot infer type of closure parameter '$0' without a type annotation

.../xcode-15-beta-5/sample-backyard-birds/BackyardBirdsUI/Backyard/BackyardList.swift .../xcode-15-beta-5/sample-backyard-birds/BackyardBirdsUI/Backyard/BackyardList.swift:14:25 Cannot infer key path type from context; consider explicitly specifying a root type

.../xcode-15-beta-5/sample-backyard-birds/BackyardBirdsUI/Backyard/BackyardList.swift:14:25 Cannot infer key path type from context; consider explicitly specifying a root type

Replies

It appears that they released a build that fixes issues in Beta 6, but I can't get the BackyardGrid to display the BackyardBirdsPassOfferCard. I get a build error: Cannot find 'BackyardBirdsPassOfferCard' in scope

I added the following code to the BackyardGrid:

struct BackyardGrid: View {
    @State private var searchText = ""
    
    @Environment(\.passStatus) private var passStatus
    @Environment(\.passStatusIsLoading) private var passStatusIsLoading
    
    @Query var backyards: [Backyard]
    
    var body: some View {
        ScrollView {
            if canPresentSubscriptionOfferCard { // Added this to try to show the subscription card.
                BackyardBirdsPassOfferCard()
            }

Any idea why? Thanks in advance.

  • Never mind. I had to make the view public from the framework for it to be visible.

Add a Comment