Is it possible to localize the NSPhotoLibraryUsageDescription string displayed by the iOS 14 "Select More" dialog? - ios14

My iOS project is set up with localized permission dialog text, through using the InfoPlist.strings file and checking it into my build target.
On iOS 14, when requesting for Photos library permissions, I noticed that the first time the app requests for this permission, the popup (containing 3 options: Select photos, Allow all photos, Deny) will have its permission text correctly translated as per the InfoPlist.strings file.
However, from the next time the app requests for this permission, the popup (which contains 2 options: Select more photos, Use current selection) will not have its permission text translated.
I've also found a Apple Developer forum question raising the same issue, and the answer from Apple Support Staff doesn't seem to help, as my project is already using the InfoPlist.strings file, and the permission text is indeed translated on the first-time popup.
Are there some steps that I'm missing in my setup, or is this a known issue on iOS 14?

Related

ios app crash when input file Choose Existing selected

I try to use uiwebview for my project. All feature works fine, but when in the application click on the Choose Existing button after selection of input file, app crashed. The error message I get is:
[access] This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSPhotoLibraryUsageDescription key with a string value explaining to the user how the app uses this data.
Should I add some function into project to ignore this?
You have to add to the app the permission to use the photo library.
Click on the project file in the project navigator, and then select "Info" tab. You will see items like "bundle display name" and "bundle version string". Go to the last item and tap the "+" sign there to add a new item.
When a new item has been added, change its name and select "Privacy - photo library usage description", and add some text regarding why your app wants to select a photo (you could leave this blank in older iOS SDKs but not any more).
Now if you run the app again, the app will display the message that you entered and ask for permission to access the photo library. This will happen only once.

Switching between apps with URL Schemes (iOS)

I'm developing an iPhone app with Swift which acts on certain file types (.xml &.zip). I've added these filetypes to the project file as a UTI (Uniform Type Identifiers). When accessing these sorts of files, usually from my email, I press and hold the file and a menu pops up from below. I choose my app icon that says "Open in MyApp". Is there a way that I can return to the email which triggered this event from within the app?
I've done some research on this and found that URL Schemes are the best way for inter - app communication, but you cannot arbitrarily open an app just to open it.
https://developer.apple.com/library/mac/documentation/Miscellaneous/Reference/UTIRef/Introduction/Introduction.html
The vision I have in mind is sort of how Google apps communicate with each other. For example, when opening a link from gmail, it switches apps to chrome. When chrome loads, the page back navigator is in Chrome displays the text similar to "back to gmail"
In iOS 9 the system implements this automatically, as seen in this screenshot here.

About Info.plist file and Xcode 5

I have some questions regarding the information I should include in my project's Info.plist file before submitting the app:
A) About CFBundleIcons: I see this key when I open the file in Xcode as source code and the xml format is displayed but, when I open it as property list, I only see an Icon files (iOS 5) entry, is that correct? On the other hand, I've changed the app icons I firstly had in the General tab of the target settings, and the Info.plist file keeps listing the old app icons as well, and the new icons I added do not have the .png extension in their name... should I handle this information manually, or did I something wrong when I changed the icons in the target's settings? Should the names include the png extension? Should I list all versions of an icon (standard and #2x), or just the name for the standard is enough?
B) Regarding UIRequiresPersistentWifi key, Apple's docs say that
Include this key if your app requires a Wi-Fi connection
I'm not sure if I have to include this key: my app performs network operations but they could be done via WWAN, not only via Wi-Fi. And not all my app's features need network connection to be performed.
C) About UIRequiredDeviceCapabilities key. I have in turn some questions here: Apple says that
The value of the UIRequiredDeviceCapabilitieskey is either an array or a dictionary that contains additional keys identifying features your app requires (or specifically prohibits).
What do they mean when they say "features your app requires": those features which the app won't work at all without them, or all those features that your app can use? For example: my app includes an option for listening the device's location. It is an optional functionality, users can enable and disable it. I check [CLLocationManager locationServicesEnabled] when the user enables the option. I've no set the location-services value in the plist file and the app has been tested and the feature works, and the compiler has never complained. Should I include the value if I want to submit the app?
Something similar happens with another capabilities, for example microphone and still-camera. I use UIImagePickerController at some point of the app, as well as the microphone for speech recognition, but that are also optional functions of the app that the user has to select, they don't affect its overall operation. And I neither have included such values in the plist yet and they are working...
Thanks in advance
A: If you want to publish iPhone app only you need provide the 2 icon's(#1x, #2x),Now I think #1x is not for necessary, if you want to publish Both iPad & iPhone, you may need to provide 4 icon. But if you dont care about the quality 1 icon is OK.
B:This line UIRequiresPersistentWifi is not necessary.
C:Same as B) This line UIRequiresPersistentWifi is not necessary. if you have more require from iOS system.

Binary details option shows french localisation! ios application! apple

I have just uploaded my first application for apple app store approval iOS, I logged on after completeing everything and in the binary details page , in localisation i see ( "English", "French" ), but i do not support french nor have a added any localisation nor mentioned anything in the info.plist.
Also i had added a cutom class in that there is a file CustomClass.strings(French) which i noticed after uploading the binary!
So my first question is : Is it because of this .strings file that I see French in the binary details page?
and second is should I remove this and upload a new binary cause I don't want my app to be rejected!
Even a single localized file can trigger that behavior - you certainly want to fix the issue and resubmit your app.

iOS App's file associations ("open with..") / CFBundleDocumentTypes question

I have recently bought a perfect file manager app for my iPad. Everything in this app is great, besides that it cannot handle some specific file types.
So for example if I try to download the file in mobile safari and try to save it into the file manager (for further upload to dropbox, email and so on), I cannot do this because the app is not listed in the "open In" list.
The question is, how to associate this app with this specific file types? I've searched google and found out that app's file association information is stored in Info.plist file in the CFBundleDocumentTypes section.
So I just modified Info.plist but id didn't help. I also found the cracked version of this app and placed info.plist into the IPA file, reinstalled the app on the iPad and it also didn't help.
Any suggestions how to solve the problem?
You cannot just add the file types. The app also has to be coded to accept the request to open the file.
Try contacting the developer and ask for them to add this feature.
The problem is probably not the APP but a limitation on IOS: it is a random selection and only shows 10. I don't know if it randomly selects based on the ones you use most or what. You cannot change this other than to delete apps you don't use as often. But having said this, the app must also support the extension of the document you are trying to send: not just as a document it stores, but as a document it accepts as a transfer from another app. You can try to convert it first into a PDF and then open, if that's possible. Hope this helps.

Resources