According to the docs:
The first time your app performs an operation that requires [photo library] authorization, the system automatically and asynchronously prompts the user for it.
(https://developer.apple.com/documentation/photokit/delivering-an-enhanced-privacy-experience-in-your-photos-app)
I.e. it's not necessary for the app to call PHPhotoLibrary.requestAuthorization.
This does seem to be what happens when my app runs on an iPhone or iPad; the prompt is shown. But when it runs on a Mac in "designed for iPad" mode, the permission dialog is not presented. Instead the code continues to see status == .notDetermined.
That's today, on macOS 15.3. It may have worked in the past.
Is anyone else seeing issues with this? Should I call requestAuthorization explicitly? (Would that actually work?)
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
I have an App Attest server implementation which is generally functioning well.
From time to time, however, I get receipts which do not refresh when I send them to Apple's server; I get a 404 response. The docs (https://developer.apple.com/documentation/devicecheck/assessing_fraud_risk?language=objc - "Understanding HTTP Response Codes") say this means "No data available for the supplied receipt".
Once a receipt is in this state it seems "stuck" i.e. it will never return a new receipt.
I have seen this for both the development and production environments.
Does anyone know what this means, and what I should do?
Dear Experts,
I have been looking at the documentation for system colours at
https://developer.apple.com/design/human-interface-guidelines/ios/visual-design/color/
https://developer.apple.com/documentation/uikit/uicolor/standard_colors/
https://developer.apple.com/documentation/uikit/uicolor/ui_element_colors
It's all reasonably clear... until I actually look at some UIKit screens and try to work out which colour is being used where.
For example, what colour is the background of a navigation bar? It does not seem to be one of the standard colours. Attached is a screenshot from "UIKit Lab", which is a free UIKit catalogue/demo app. Scrolling through its list of standard colours, none of them seems to match the background of the navigation bar. It lies somewhere between systemBackground and secondarySystemBackground.
Is this perhaps because the base colour has been modified by a material effect, or something?
Thanks, Phil.
Dear Experts,
If a user with an older device tries to download an app, and the current version of the app requires an iOS version which their device does not support, the App Store will offer them an older most-recent-compatible version instead.
I've just had an enquiry from a user of my app for whom this has not worked. Specifically he has an iPad 2. He foolishly deleted my app from the device, and now the App Store will not let him re-install it.
Does anyone know why this may be? Is it simply that this App Store feature does not work for devices as old as the iPad 2?
Thanks.
Today I've received an email from Apple telling me that the App Store XML API is going away in November. (See e.g. https://help.apple.com/asc/appsspec/en.lproj/static.html).
I have been using this API for some years to upload screenshots andIAP details (I have an app with a large number of IAPs).
I'd like to thank Apple for giving me three months to implement an alternative. That's much better than the one month warning that they gave me for the last feature that they removed, IAP hosted content.
Still, it's frustrating that I need to do a load of work to replace something that has been working fine for years. Having been an iOS developer since 2008 I've got a lot of accumulated "stuff". These days, I seem to spend more time adapting to things that Apple have deprecated than working on new features. And I constantly worry about what is next for the chop.
Topic:
App Store Distribution & Marketing
SubTopic:
App Store Connect
Tags:
App Store Connect
App Store Connect API
Dear Experts,
Does monospacedDigitSystemFont work for others? It is supposed to be a font where digits are monospaced, but other characters aren't. This is especially useful for things like counter widgets, where you don't want the total length of the string to fluctuate as it updates.
When I try to use it I get the same results as for the regular system font, i.e. digit 1 is narrower than the others.
[UIFont monospacedSystemFont...] does work correctly.
I'm considering sending some suggestions for additional symbols, but I can't find a suitable category in Feedback Assistant. Am I missing something? What category would you use? Should I first file a bug against Feedback Assistant asking for a new category??
Dear Experts,
Is there a way to create a new target in Xcode that is a copy of an existing target?
Specifically, I have a standard iOS app target in the project. I'd like to build a second iOS app by adding a second target to the same project. I'd like it to start as a copy of the first target, and then I'll add and remove source files and frameworks, change assets and settings etc.
It seems to me that I have to create a new target and then add all the source files etc to it, and then replicate all the settings. I've tried to do this, but it isn't working - bizarrely I just see a black screen, though log messages suggest that the app is running. I am unsure about whether the two targets are sharing e.g. the Info.plist file, etc.
Any advice? Thanks.
Is it possible to change the date formats used in the App Store Connect web interface?
It seems to me that things like the date range selection widget on the Sales & Trends page use only the US-style MM/DD/YYYY format. Is there some way to change this to YYYY-MM-DD or DD/MM/YYYY that I have missed?
Topic:
App Store Distribution & Marketing
SubTopic:
App Store Connect
Tags:
App Store Connect
Internationalization
Dear Experts,
NSLocale has a notification NSCurrentLocaleDidChangeNotification and a property autoupdatingCurrentLocale ("A locale which tracks the user’s current preferences"). These suggest that an app should be able to detect when the user changes their language preference while running, or when it is resumed from the background.
In practice, when I change language in the Settings app (either globally or just for my app), the app is terminated by iOS and restarts with new locale.
Is this the expected behaviour? I am wondering if there is something I need to do to advertise that the app can adopt language changes without restarting, or something.
Maybe only date-time formats, etc., trigger the notification but language changes don't?
6.7-inch screenshots have become compulsory at some point since I last created an app update, and I will need to purchase a new device to satisfy this requirement.
The App Store Connect media manager says that 6.7-inch screenshots must be 1290 x 2796 pixels. Looking at device specs (e.g. at everymac.com), it seems that this is the size of the iPhone 15 Pro Max, iPhone 15 Plus and iPhone 14 Pro Max. However the iPhone 14 Plus and older are fractionally smaller at 1284 x 2778, despite also being described as "6.7-inch".
Does anyone know if App Store Connect will accept 1284 x 2778 screenshots for the "6.7 inch" category?
A refurbished iPhone 12 Pro Max is about half the price of an iPhone 15....
Topic:
App Store Distribution & Marketing
SubTopic:
App Store Connect
Tags:
iPhone
App Store Connect
Dear All,
I have a paid app which has in-app purchases to unlock additional content. In my App Store screenshots and preview videos, I used to indicate which content was paid and which was free with labels superimposed over the screen captures.
App store review guideline 2.3.2 supports doing this - in fact, it seems to require it:
2.3.2 If your app includes in-app purchases, make sure your app description, screenshots, and previews clearly indicate whether any featured items, levels, subscriptions, etc. require additional purchases.
But App Review don't like it. Some years ago they complained about the labels on the screenshots, which I removed. Now they are complaining about the preview videos. They cite guideline 2.3.7, which says (in part, my emphasis):
2.3.7 ... Metadata such as app names, subtitles, screenshots, and previews should not include prices, terms, or descriptions that are not specific to the metadata type. ...
So these guidelines seem to be contradictory. If I label a screenshot as "free" or "paid", they consider that to violate 2.3.7. (I'm not showing an actual "$1.23" price, just "free" or "paid".) But I need to indicate whether the content shown is "free" or "paid" in order to comply with 2.3.2. (And I want to label it as such, because I don't want users to misunderstand what is included with their initial purchase.)
Has anyone else had this problem? I wonder if there is some particular wording that they require, e.g. "Requires in-app purchase" rather than "Paid". Or something rather than "free". There is a limit to how much text I can legibly add without obscuring the actual content, so I have tried to keep it brief.
I did refer to 2.3.2 in my reply to App Review, but they haven't addressed that; they've accepted the update as a bug fix.
Ultimately I'll just do what they want - it always seems easiest - but I do have real concern that my customers are worse off without these annotations.
In my Mac's Settings -> General -> Storage -> Developer -> (i) I have a series of entries for "bridgeOS", all 2.49 GB except one that is "zero".
Do I need these? Can I remove them?
I am only doing "normal" iPhone / iPad development.
(There was some previous mention of this here:
https://developer.apple.com/forums/thread/711279
with no feedback.)
If I use UIEditMenuInteraction to present an edit menu, it has a dismissMenu method that I can call to remove the menu when necessary.
When I use UITextInteraction, I get an edit menu automatically that is normally presented and dismissed at appropriate times. But sometimes I want to dismiss the menu myself, and I can't find a way to do that. Am I missing something? I was hoping to find that UITextInteraction inherited from UIEditMenuInteraction, or had some other way to access the underlying menu in order to dismiss it. But it seems that the menu must be a private part of the UITextInteraction implementation.
The particular case that I need to deal with is when I call resignFirstResponder. This seems to cause the keyboard to close and the insertion point and any selection to be hidden, but if an edit menu was shown then it remains visible (a ghost!). If anyone knows of an alternative to resignFirstResponder that will make UITextInteraction tidy up properly, that would also be useful to know.
Thanks for any suggestions!
Does anyone else use the "Download CSV" button on the Search Ads website's billing page?
I used to use this successfully to download files that I could import into my accounts database. But when I tried it today, the file it returned was an XLSX.
Has anyone else seen this? Any work-arounds?