Post

Replies

Boosts

Views

Activity

Reply to Archive build w/ SwiftUI dependency fails in Xcode 13
Got an answer back from Apple support and it did solve the problem: Based on your request Apple Developer Technical Support believes that your question is answered by the "Xcode Release Notes: Xcode 13 Release Notes" linked here: https://developer.apple.com/documentation/xcode-release-notes/xcode-13-release-notes Specifically: Swift libraries depending on Combine may fail to build for targets including armv7 and i386 architectures. (82183186, 82189214) Workaround: Use an updated version of the library that isn’t impacted (if available) or remove armv7 and i386 support (for example, increase the deployment target of the library to iOS 11 or higher). In my case, I addressed this by installing a local version of the package and then bumping the swift-tools-version in Package.swift to 5.5. This info came in very handy: https://developer.apple.com/documentation/swift_packages/editing_a_package_dependency_as_a_local_package
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Sep ’21
Reply to Unusual configuration problem for subscriptions
I had an exchange with an Apple StoreKit evangelist, and he confirmed that the best approach is a generic "single course" subscription. Here's what he had to say: We refer to this as a generic sku configuration. creating a sku per course after a dozen+ is just a mess to manage, so generic is the way to go now and with your future plans. So with the generic “single course” sub, you’ll manage this single “slot” to fill it with 1 course at time. Up to your business policy on how you manage swapping new courses in/out. Ie: 1 swap per week/month, etc. The course to sub assignment is 100% with the developer, so this “course swap/manage” experience and policy will be managed by your app and off platform if applicable. The mapping of the customers purchase is using the original transaction ID to the assigned course. And change that mapping per their business policy. If product ID changes to unlimited then the course mapping won’t apply. Tougher part is when downgrading from unlimited to single, what is that experience. Automatically choose whatever they access next or does it prompt the customer?
Topic: App & System Services SubTopic: StoreKit Tags:
May ’22
Reply to Compiler thinks non-async property is async?
I had a breakthrough after reading @Scott's comment. It sure was behaving as if the compiler thought it was an actor. As a test, I removed the private restriction on the singleton's initializer and tried to initialize it. I got a very revealing error: func testAsync() async -> String { let app = App() // ERROR: Calls to initializer 'init()' from outside of its actor context are implicitly asynchronous ... async stuff here ... return result } Well, it turns out that App is a UISplitViewControllerDelegate and that protocol is a @MainActor! If I remove the protocol from its definition the errors go away. Is this correct behavior? I tried, but haven't been able to re-create the issue in a simple test case. In any case, thanks @eskimo and @Scott for helping me clear this up!
Topic: Programming Languages SubTopic: Swift Tags:
May ’22