Post

Replies

Boosts

Views

Activity

Determining development/production environment for DeviceCheck
Is there a recommended way to determine whether to use the development or the production server API endpoint for DeviceCheck? For App Attest, the authenticator data includes either "appattest" or "appattestdevelop" in a field of the cbor data. For IAPs, we're supposed to try the production endpoint and then retry with the development endpoint if we get a particular HTTP status code. But the docs for DeviceCheck say only to use the development endpoint in development and the production endpoint in production. What are others doing? Is there any clue in the docs that I have missed?
1
0
1.2k
Mar ’22
I can't use the word "*****", but adverts for prostitutes are OK?
Dear Apple, I know that content moderation is difficult, but surely you can do better than this. You seem to have a very crude profanity filter that ****s out words with perfectly normal dual uses, but you can't stop the constant stream of adverts for c all girls in D ubai. Come on, sort it out! (And amazingly, this message is rejected as "You have included content that is not permitted" when I wrote "c all girls in D ubai", until I added the spaces!) (The word in the title is a small metal item used to join pieces of wood together, which can also be used as a euphemism for something couples do.)
6
0
1.3k
Sep ’22
What colour is this navigation bar background?
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.
2
0
1.6k
Jun ’22
NSFileManager trashItemAtURL deadlocks inside NSFileCoordinator coordinateWritingItem
Dear Experts, Should I use NSFileCoordinator coordinateWritingItemAtURL: around a call to NSFileManager trashItemAtURL: ? What options should I pass - NSFileCoordinatorWritingForDeleting, or ...ForMoving, or something else? I've attempted various combinations. If I don't use the NSFileCoordinator, then the change is not reflected in the Files app (open alongside my test app in iPad split screen mode). All attempts using NSFileCoordinator result in a deadlock inside trashItemAtURL - it is stuck waiting for a semaphore. I do have a FilePresenter for this file, but I am passing it to the NSFileCoordinator's init so that should not lead to deadlock. I believe I am doing everything on the main thread. The files are local, in the app's Documents directory. Any ideas anyone?
0
0
654
Jun ’22
Enumerating directories inside a coordinated read
Dear Experts, NSCoordinatedFile's coordinatedRead and coordinatedWrite methods supply a possibly-modified path to the accessor block. (I think it is only modified if there are concurrent accesses, so none of this is easy to test.) If I enumerate the contents of a directory inside a coordinatedRead on the directory, the paths that I get for the directory entries will include this possibly-modified parent path. (Unless maybe NSFileManager's enumeration methods have some magic to avoid that.) Is it OK for me to keep these "special" pathnames beyond the end of the coordinatedRead? If not, perhaps I need to get only the leafname from the directory enumeration and append that to the original directory path. Thoughts anyone?
0
0
539
Jul ’22
Enumerate contents of one iCloud container
Dear Experts, Is there a way to limit an NSMetadataQuery to one iCloud container, in an app with more than one? It seems to me that setting the scope to NSMetadataQueryUbiquitousDocumentsScope will probably return either the contents of the first (default) container, or all containers Is there something I can put in the predicate? Maybe I have to try to match URLs that start-with the container's own URL?
0
0
1k
Jul ’22
Determine if current device has physical home button
Is there a way to determine whether the current device has a physical home button or not? I am building part of a UI which is very much like the Files app - it has buttons for "iCloud Documents" and "Documents on this device". For the latter, it will use a suitable symbol from SF Symbols i.e. "iphone" or "ipad" (or something for Macs). Just like the Files app. But I notice that the Files app uses the ".homebutton" symbol variants on older devices that have a physical home button. What is the easiest way to replicate that? I was considering looking at the "iPhoneNN,M" string and comparing it with the model number of the first devices without a physical button, but that is complicated by e.g. the current iPhone SE, which is "iPhone14,6". I don't want to have to maintain a table. Is there some easy way to do this? Thanks.
3
0
3.4k
Jul ’22
App Store XML API going away in November
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.
2
0
873
Jul ’22
UIFont monospacedDigitSystemFont doesn't work
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.
2
0
1.2k
Sep ’22
UIImage and CGImage have different aspect ratio for SFSymbols
Dear Experts, I create a UIImage for an SFSymbol using [UIImage systemImageNamed], get its CGImage, and look at the sizes of each: UIImageConfiguration* config = [UIImageSymbolConfiguration configurationWithPointSize: 64 weight: UIImageSymbolWeightLight scale: UIImageScaleMedium]; UIImage* img = [UIImage systemImageNamed: @"chevron.compact.down" withConfiguration: config]; CGImageRef c = [img CGImage]; printf("UIImage size %f x %f, CGImage size %f x %f\n", img.size.width, img.size.height, CGImageGetWidth(c), CGImageGetHeight(c)); (Consider that pseudo-code, it's not an exact copy-paste.) Results: UIImage is 70.3333 x 25.6667 and CGImage is 163 x 43. So the aspect ratios (W/H) are 2.74 and 3.79 respectively. That can't be right! I don't expect the UIImage and the CGImage dimensions to be the same, because of the UIImage's scale (which is 3 in this case). But that should be the same for both dimensions. The effect is most pronounced with symbols that have an aspect ratio far from 1, e.g. recordingtape, ellipsis, and this chevron.compact.down. I believe that the CGImage aspect ratios are the correct ones. What is going on here?
5
0
1.8k
Oct ’22
SF Symbols category in Feedback Assistant
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??
Topic: Design SubTopic: General Tags:
2
0
854
Oct ’22
NSFileCoordinator/Presenter and background location apps
Dear Experts, It is necessary to remove NSFilePresenters when an app goes to the background and re-add them when it returns to the foreground - if you don't do so, the app will be terminated. But what about an app that has the location background mode enabled? Specifically, I have an app that records your location, in the foreground or background, and writes this data to a file. It does writes to the file inside a coordinated write block, and monitors for writes from other processes. This works fine in the foreground. I'd really like to also get notifications of concurrent changes to the file while the app is in the background, but this doesn't seem to be possible. (It's actually more likely that a file will be modified by another app while I'm in the background - consider switching to the Files app, and then back again.) Any suggestions?
6
0
1k
Oct ’22
Membership renewal payment card info confusion
I recently received an auto-email from Apple: We noticed that there's no billing information associated with your Apple ID, so your Apple Developer Program membership cannot be automatically renewed. To renew your membership, update your Apple ID with a valid credit/debit card any time before your membership is scheduled to renew. Update now > https://appleid.apple.com/ (This was not entirely unexpected; I changed bank account a few months ago.) But when I visited appleid.apple.com, I found that I did have a card registered there. So I contacted support and they told me that I should actually add my card details at www dot apple dot com/shop/account/home (or my national variant of that) (*) - and indeed that website has its own section for registering payment cards, which was empty. So I have filed a bug saying that the auto email has the wrong link in it (FB11823024). I also asked support why there were two different places where card details are recorded, and got this reply: Apple Store payment information is used to pay what you are buying on the App Store. Apple ID payment is associate with your Apple Connect payment method information. Which is not very clear to me. What is "Apple Connect"? Anyway.... everyone beware. If you get that email, and you think that you have definitely registered a payment card, and you follow the link and it confirms that you have registered a payment card .... don't stop worrying, your renewal may still fail! (*) Yeah, this forum won't let me mention Apple's own websites without obfuscation.
0
0
2.5k
Nov ’22