Post

Replies

Boosts

Views

Activity

Reply to Local Experiences seems to be missing in iOS 15.4
I am also experiencing this on several of my devices. It worked before in an earlier iOS 15.x release, but I cannot find the "Local Experiences" listing on iOS 15.4 public release either within the Developer settings pane. This makes it impossible to test some experiences as well as having the App Clip card be shown for local demonstrations to business partners. @eskimo, can you help get some visibility to this? The instructions for testing App Clips locally is unchanged from the documentation. On your test device, open the Settings app, navigate to the iOS developer settings by choosing Developer > Local Experiences, and select Register Local Experience. I created a few feedbacks: App Clips Framework: FB9961137 Xcode Developer Tools: FB9961139 Feedback Assistant: FB9961143
Mar ’22
Reply to location service IOS 15.0.x and 15.1.x
The experience within the settings application, both your app listing and the location services will only show your app AFTER your code has made a request via one of the several authorization APIs. Do you have an onboarding experience or request permission at the time of usage (like when showing a map)? I've been actively developing and using all of the latest iOS versions and have not observed this in my fitness app, my competitors, or the new app I'm developing using location updates, region monitoring, significant location change, etc. That having been said, I know that requesting location authorization on some watch simulator configurations does NOT show the authorization prompt on the simulator. The same code works on a real device. Probably worth sending in a feedback with a sysdiagnose if you can reproduce something like that on a physical device. Out of curiosity, which features of Core Location are you using that doesn't appear to be working?
Jan ’22
Reply to How to hide an auto-renewal subscription from App Store manage subscriptions page
Are your two subscription products part of the same subscription group, or not organized in groups at all? If so, I think this is by design and not allowed to 'hide' it from the user. If they're in the same group it is treated like 'tiers' and the user has the ability to switch between the levels. What I'd do is ensure that they are in two different groups, call one "legacy" and the other "current". Within your "legacy" have the following subscription product: Original Price for early adopters that get grandfathered in price Within your "current" group, have the following subscription product: New Price for new users I assume your logic does something to the effect of if account created before cutoff date, offer reduced rate, else show new pricing. The idea is that when the user elects to manage their subscription, they will ONLY be shown what is within the same subscription group (I think if you don't use groups they see all products?). So, ensure they're in the correct group, and they'll only be able to manage those options. One thing you'll have to prevent in your UI, is disallow the user from subscribing to a product within both groups. Take a peek in the developer app for some of the WWDC presentation and tech talks. Here are a few links to get you started: Architecting for Subscriptions Designing for Subscription Success Engineering Subscriptions
Jan ’22
Reply to Is it necessary to have a user registration mechanism if app has subscriptions?
Sounds to me like a simple "Restore Purchases" workflow would get you in compliance with requirement 3.1.2. Yes, a user who is signed in with their AppleID will have access to their purchases across devices, but only if you've implemented the logic to make it happen. Do you have this? If so, I'd point it out to App Review, otherwise, it is a miss and you should implement it. This does two things: Allows the user to restore that purchase (subscription) on the same device if they uninstalled and reinstalled your app Allows the user to access the content on all of their iOS devices. This would be a great opportunity to take a look at the new StoreKit 2 APIs along with the new on-device receipt validation. Meet StoreKit 2
Jan ’22
Reply to Apple CloudKit async function Doesn't Look Right
The new signatures will give you a per-record result of Result<CKRecord, Error> as described in the method signature. So when you ask for records with IDs "ABCD" and "EFGH", lets say only ABCD exists, you'll get a dictionary back with two key-value pairs, the first being ABCD with the result value of .success(CKRecord) and the second of EFGH and .failure(UnknownItem). Have a watch of the session you linked (10086) from 2021 and take note of the changes to the CKFetchRecordsOperation. The same thinking to the per-record error reporting also makes its way into the convenience methods on CKDatabase.
Jan ’22
Reply to iCloud icon settings
To ask an obvious question, you have set your AppIcon in your asset catalog right? I noticed that during development, my app icon is also not shown in the list of "look up by email" so it might just be that unpublished apps don't have their icon shown within the settings app in those places.
Jan ’22
Reply to How to turn On/Off iCloudKitSync on a SwiftUI application
How much data are you trying to synchronize when the user has the feature enabled? You could have two containers, one that is local only, and the other that is the cloud container. I'm not sure that simply 'flipping the switch' would propagate / synchronize as fast as the user is expecting. The difficult part with this approach would be migrating the data from one store to the other as they change the value.
Jan ’22
Reply to Fetch data from CloudKit to app when app is in background
Are you expecting immediate propagation when records are modified or eventual propagation? What is your 'expectation' for acceptable delay in the background? I'd have to imagine that data synchronization in the background is supported, but I don't remember any videos stating this explicitly. Does your app make use of any other background execution modes? The way I achieve this is through CKSubscriptions and notifications which is pretty much immediate as long as the push volume isn't too high for a given device, however I'm not using the CloudContainer and rolling my own Core Data / CKRecord translation. Subscribe to record changes (insert, delete, update) Request remote notifications on UIApplication instance Implement the didReceiveRemoteNotification Depending if data was purged (too much data in push payload), run a CKFetchRecordsOperation or CKQueryOperation
Jan ’22
Reply to Combining multiple mini games into one "hub" app.
Is this for Mac, or iPhone/iPad? Why not have all of the games within a single application target? If you want to continue down your 'hub' or 'game launcher' approach AND you're the developer of all of the mini games, you could implement custom URL Schemes for iOS in each and every target. Learn about URL Schemes. The technology is old and has downsides for production but for a school project should get you what you need. If you plan to submit this to the store I'd highly encourage you to consider rearchitecting the apps into a single app.
Jan ’22
Reply to What are some good cloud storage options for storing videos?
The length of the video is less important, it more depends on the file size. Also for more context to your question, is this app only for iOS? You could look at using CloudKit and saving the files as a CKAsset. Big apps like Photos are built upon that infrastructure. Think like when you have a video saved and then share it with an iCloud link. The tech is being used under the hood to some extent. CloudKit has storage limits that ultimately might not pan out for your usage but it's my favorite storage. For my usage and volume it is free, built into the OS, and more importantly, supports background uploads, etc. I really dislike third party 'blob storage' libraries because they never seem to support background url sessions for uploading in the background and out of process.
Jan ’22