Image picker view not crashing not even asking for user permission, Why and How? - uiimagepickercontroller

I am working on one side project, it has image view where a user can click and select an image from the photo library. I am using UIImagePickerController.
My question is I haven't added user Permission on plist nor anywhere else. and as far I know app crashed if you don't add permission, Plus when the app opens for the first time the dialog appears asking for permission but in my case, it's not asking.
I like to know how this can be possible or does Apple have changed something in new Xcode or OS?
I am using Version 9.2 (9C40b) and tried running the code on iPhone 6(real device iOS 11.2.6,) and in different simulator same result, I deleted the app and run it again, same no dialog.
And if Apple has changed something in iOS 11, Should we add or not the permission? whats the best way to a developer we don't want to ask, and also don't want the app to be crashed.

The answer is YES you have to provide the description
It is mandatory to add usage description(from iOS 11) of permissions you are going to use.
Apple states that
Your app is responsible for all usage of privacy-sensitive data, including access to this data by all third-party libraries used in your app. If your app attempts to access privacy-sensitive data without a usage description, your app will exit.
You will see this error in console log if permission description is not provided in Info.plist
This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSCameraUsageDescription key with a string value explaining to the user how the app uses this data.
If you try to submit the app without description for release Apple will reject it with this message
Missing Info.plist key - This app attempts to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSSpeechRecognitionUsageDescription key with a string value explaining to the user how the app uses this data.
Summary:
If you have not provided usage description and uploaded the app earlier then your app will crash without asking for permission
If you have not provided usage description and tried to submit recently then apple will reject it.
Reference:
Privacy Settings in iOS 10

Related

Testers can't download AppBundle build from the App Distribution

I started to distribute application by Firebase App Distribution using AppBundle instead of APK. But when testers are trying to download build from "App Tester" application it opens Play Store but it opens "Internal beta" page, not Internal App sharing page with this build. Clearing data of Play Store application helps and they see correct Internal App Sharing page with correct build, but only once, when they are trying to download another build it opens "Internal beta" page and they need to clear data again.
I checked on my phones, on two test devices where I have only one authorised account in Play Store, everything works fine. But on my personal device where I have two account I see this issue. Testers have only one account on device but also have this issue, so I don't thing that the problem with amount of accounts.
Has anyone had this issue before and can help me resolve it?

how to solve code 10, message 10: with google signing option

enter image description here
Hello guys, i just created my first app, and when emulated worked perfectly, but when i build the apk release file, i get this toast code 10, message 10:, i know there are the same questions but and i have tried to solve the problem using the solutions in previos posts, but no result, i have changed the SHA1 many times, donloaded json files many times, re installed the app, and erased the google account, none of that worked, the issue is only with google signing option, whe using the email option it works fine, i am using
implementation 'com.firebaseui:firebase-ui-auth:4.3.1'
implementation 'com.google.firebase:firebase-auth:19.2.0'
If you are using app signing by Google Play, you need to make sure that you add the SHA-1 fingerprint from the Google Play Console to your list of Firebase fingerprints.
After you have uploaded your app to the play store, go to your Google Play Console, select your app, and under Release Management, select App signing:
On that screen, you can find the SHA-1 fingerprint in the App signing certificate section. Copy and paste that into your Firestore fingerprintes (Firebase Console -> Project -> General Settings).
Onc you add it, it may take a few minutes to take effect but this fixed the issue for me.

Xamarin Forms how to Save a file to a location where it can be copied off of the original device

My Xamarin forms app required the user to perform a certain amount of configuration before it can be used. Additionally, the app can be run on multiple computers by the same user (There are valid business reasons for doing this.) What I would like to be able to do is backup the configuration of the app to a file that can then be used on another device to automatically configure the app on the new device in exactly the same way. This will prevent the users from re-entering all the configuration information on each device where they wish to run the app.
Something to keep in mind:
It needs to work on all supported Xamarin Forms platforms - UWP, Android, iOS and Mac.
The app itself does not required the device to have a network connection.
The file needs to be savable in a place where the user can access / copy it to another device (i.e. a USB drive, a network share etc.)
What I have tried:
I have tried using the FilePicker plug in but could not get it to save to anywhere outside the application. (A user trying to find the folder here would not be easy.) Saving anyplace else I received an Access Denied error.
I have tried using the System.IO namespace but encountered the same Access Denied error when saving the file to a someplace outside the application.
I guess my last resort would be to display the configuration information in a XF editor control or such or just copy it to the clipboard (if possible) and have the user manually save the data to a file outside of the application. Does anyone have any other suggestions on how this can be handled?
So after trying multiple things and looking at possible solutions, I could not find a way to easily do this. Instead I used the Xamarin Essentials clipboard function and copied the contents of the file into the clipboard. I then display a message to the user telling them to past the clipboard contents into a file. This seemed to be the best I could do for now.

Need to transfer app build from developer to myself Bundle ID and Provisioning Profile transfer?

I had an app created for me--Demeter's Harvest (iOS). The company that built it has dropped off the map, so I can't get them to help me with this.
I get a message when I try to access it all that reads: An App ID with Identifier 'info.NAMEOFDEVELOPER.demeter' is not available. Please enter a different string." and another one for the Bundle ID that shows the Identifier 'info.ORIGINALDEVNAME.demeter' with the version and build.
I placed my name into the team area, and got a message that says no non-expired provisioning profiles are installed with a "Fix Issue" button.
How do I go about gaining access to my app code (if that is what it does) so I can get a new developer to make changes and updates to it?
Thanks,
Ed
You're likely up a creek here. If you don't have your app code there's no way anyone can help you gain access to it except the developer.
Regarding the bundleID it will be tied to whichever Dev Portal created it. If you own that portal you're fine. If the developer owns that portal and they either don't renew their account or block you from accessing it there will be no way for you to re-use it.

Creating a database in the blackberry device when the app is installed

I want to create a database on my blackberry device when my app is installed. I did not find any event (e.g. onInstalled) so that i can create my databse on this event when the app is installed.
Apparently there is a method DatabaseFactory.exists() which i can use to check if the database exists or not. But i do not want to check for this every time. I want to create the database when my app is installed and when the app is un-installed then the database should also get deleted.
Thanks
As far as I know RIM API SDK does not provide mechanism to catch install/uninstall events.
And even the database is once created it can be deleted/damaged via the filesystem. For instance user deletes database files from the media-card or from the device memory. Just because user does not know what these files contain and assumes these as temporary or something else.
It is a good approach to check the database presence before starting work with it. Otherwise user may get blank white screen with text "Exception 1234" and some additional text, or may get a popup with strange message, like "Error: FileNotFoundException...".
See the SQLiteDemo in the blackberry samples demo then you can get solution.

Resources