Post

Replies

Boosts

Views

Activity

Need help debugging Universal Links
Hi! Instead of using username/password authentication, I wanted to use a magic link to authenticate users of my app to simplify the process. However, on the app review, it got rejected because of the magic link: Guideline 2.1 - Performance - App Completeness Issue Description The app exhibited one or more bugs that would negatively impact App Store users. Bug description: The Magic Link failed to open the installed app. Review device details: - Device type: iPad Air (5th generation) - OS version: iPadOS 18.1 Next Steps Test the app on supported devices to identify and resolve bugs and stability issues before submitting for review. If the bug cannot be reproduced, try the following: - For new apps, uninstall all previous versions of the app from a device, then install and follow the steps to reproduce. - For app updates, install the new version as an update to the previous version, then follow the steps to reproduce. Resources - For information about testing apps and preparing them for review, see Testing a Release Build. - To learn about troubleshooting networking issues, see Networking Overview. I had no luck to reproduce this. The magic links trigger my application on all my testing devices. I also had external testers using TestFlight and it works for all of them as well. The only time where I can see it failing is if I archive the IPA and install it on an external service like AWS Device Farm or BrowserStack App Live. But here it is very hard to debug because I think I cannot get the sysdiagnose file and I don't know if it is even supposed to work in this case because those devices are not associated with my developer account. I read countless links, tutorials and discussions on this topic but it did not really help. https://developer.apple.com/documentation/technotes/tn3155-debugging-universal-links https://developer.apple.com/documentation/xcode/allowing-apps-and-websites-to-link-to-your-content Here is my set-up: I added the Associated Domains capability to my app. There under Domains I put applinks:subdomain.domain.com Under https://subdomain.domain.com/apple-app-site-association and https://subdomain.domain.com/.well-known/apple-app-site-association I host this file with JSON content header: { "applinks": { "apps": [], "details": [ { "appID": "<TEAM>.<TestAppIdentifier>", "paths": [ "/magiclink/*", "/activate/*" ] }, { "appID": "<TEAM>.<Identifier>", "paths": [ "/magiclink/*", "/activate/*" ] } ] } } My main entry point of the app has a .onOpenURL { url in handleOpenURL(url) } on the ContentView() If I go to https://app-site-association.cdn-apple.com/a/v1/subdomain.domain.com, I see the file correctly as I specified it above. If I go on my development phone to Settings > Developers > Universal Links > Diagnostics and I enter one of the "magic links" into the field, it says with a checkmark Opens Installed Application. https://getuniversal.link/ says my AASA file is valid. Any suggestion on what I could do to further debug or resolve this is highly appreciated.
3
0
204
Nov ’24
How to make a shop work with generic consumable IAPs
Hi! I'm currently developing an app to support artists. This should include a shop where artists can buy digital resources to use in their projects. Now the issue is how I handle this. I know there are consumable and non-consumable IAPs and there is a limit of 10.000 IAPs per app. Because my shop will have more than 10.000 items eventually, I try to use a different approach: For every price I want to have, I create a generic consumable IAP with the price I want. Then I assign this IAP to the product. To keep transactions safe, users need to sign-up before making a purchase. When a user intends to purchase the item, I create a transaction with the item a user wants to purchase along with the user in my database and return a unique uuid. Then I attach this uuid with the transaction appAccountToken. Then I listen to App Store Server Notifications and unlock the item for the user based on appAccountToken. I already read about this extensively and other people seemed to be able to use it after explaining everything to Apple. I tried to submit the first version of the app and it was rejected with reason: Guideline 2.3.2 - Performance - Accurate Metadata We noticed that the display names and descriptions for your promoted in-app purchase products are the same, which makes it hard for users to identify what they are purchasing from the App Store. Next Steps To resolve this issue, please revise the display names or descriptions for your promoted in-app purchase products to ensure each individual metadata item is unique. Please note that display names for promoted in-app purchases can be up to 30 characters long, while descriptions can be up to 45 characters long. If you have no future plans on promoting this in-app purchase product, you can delete the associated promotional image in App Store Connect. All my consumable IAPs are named the same because it is generic and I don't really see how I would change this. What kind of information do I need to supply to Apple to approve it? Any insights or tips are highly appreciated.
0
0
122
Nov ’24