Delete iOS app settings [duplicate] - ios

This question already has an answer here:
Is it possible to reset the privacy settings in iOS?
(1 answer)
Closed 7 years ago.
I'm working on an app that requires requesting mail access. Since the simulator doesn't have a Mail app I've been using my physical device to test the app.
My problem is that I want to test the request to access Mail in relation to the welcome/intro screen that I've made but even if I delete the Xcode build version of the app from my device the settings for allowing the Mail access still persist.
I want to force those settings to delete when I delete my app from the device so that it requests Mail access after every fresh install for the sake of testing. So far the only solution that I've seen for doing this is to complete a fresh install of iOS each time, but that's much to much trouble when I'd be wanting to do it several times.
Does anybody have a solution for this?

The simulator does actually have a Calendar and I do plenty of testing on it. If you want to add more calendars via the simulator, open the calendar app, tap edit at the top and you can enter new calendars.

Here's the solution I found thanks to #Martin R's comment.
Go to General > Reset > Reset Location & Privacy
This reset accomplished what I needed for the problem.

I've myself run into the same problem when allowing photo access.
It's not a proper answer, but the workaround I found was effective: just change the bundle id when you want to test this behaviour. iOS will assume it's a different app and ask you again for all the authorisations granted before.
I'm still interested by the proper answer though — if there ever is one.

Related

Extend existing independent WatchOS app with iOS app and share data between them

First of all, I'm a newby and I'm sorry if this question is already answered. I searched and I didn't found any similar.
I already have and independent WachOS app and works fine by itself. At firs I thought that with it alone will be enough but now I realized that with an equivalent iOS app I could reach more people. So now I'm wondering if it's possible to modify my Xcode project in order to add an iOS app with the same content and functionality as I have in the WatchOS app and both of them sharing the same data, that is, if I change a value in one of them, later I will see this value updated in the other one.
Thx in advance
If you already uploaded the app to the AppStore then I'm afraid it's not possible. Source: Reverting from an Independent Watch app, to one that is dependent on an iPhone app

MobileGestalt no access to InverseDeviceID

This happens with every app when I try to use OpenGLES on my iPhone7+ with iOS10.3. But it works without any problems on my iPhone7 iOS10.1.
This is the message I get:
libMobileGestalt MobileGestaltSupport.m:153: pid 304 (OpenGLES_Ch4_1) does not have sandbox access for ... and IS NOT appropriately entitled
libMobileGestalt MobileGestalt.c:549: no access to InverseDeviceID
Does anyone have an idea about these messages?
I wonder if it is bugs or something else in iOS10.3? Because when I run the app on iPhone5s iOS10.2, those messages did not shown on the screen. While I upgraded the phone to iOS10.3.1, the massages shown again.
The reason why I ask this question is that some animation effects perform quite stuck on my iPhone7+, but it is completely smooth on iPhone5s. But now it seems it is no relationship between the message above and the stuck, and I have to check my iPhone7+...
I had the same issue. It turns out to be multiple thread accessing the same OpenGLES related resource, EAGLContext to be specific. I guess it is possible that OpenGLES related codes are not thread-safe, and it behaves differently in different OS versions / iPhone 7 / 7+, sometimes it messes up the memory.
After making sure data accesses are synchronised across threads, the problem is gone.
For those of you who are maybe using Ionic and getting this error, please just make sure that in case you've cloned a new fresh copy of the project from your repository that you did both npm install and bower install.
I was missing bower install and this was torturing me for like two days, so hope this helps someone. Sad thing is that I'm by all means not a beginner with Ionic (top #3 answerer on SO) but was still able to miss this fact so I hope that in case someone else runs into this problem it will help you.
Google Map display and functionality works fine with this warning
Check my answer here:
https://stackoverflow.com/a/44970665/3378076
I can see where the setting up of a sandbox account might do the trick, but if the device you are using is also connected to your normal icloud account, you can't create a sandbox with the same AppleID.
You then have to log out of your existing icloud account, and log in with the new icloud (sandbox) useid. Which screws up your existing icloud device settings.
So you are unable to use your Developer ID, only your Sandbox ID.
This worked for me:
Create a new sandbox user in iTunesConnect. YES, you have to create a new iCloud user with a new email.
Log OUT your current iCloud user on your mac AND on the device you are testing on.
Log IN with your new iCloud user on your mac AND on the device you are testing on.
Run your app on your device again. This time it should work.
Hopefully Apple will come around and simplify this issue since this is a real pain in the ...
I had the same issue, and this point me in the right direction:
I've managed to solve the same problem for MKMapView. Apparently, that happens when your app's current permissions state doesn't correspond to entitled (declared in Info.plist) one. That effecively means that you need to call APIs to gather user's permissions explicitly and preemptively. (E.g. LocationManager.requestWhenInUseAuthorization before displaying a map with user location on it)
Source: rdar://problem/11744455
I had same issue. My rendering program was written to support 3 version of openglES(1, 2 and 3). On my case I was accidentally supplying EAGLRenderingAPI.openGLES1 or kEAGLRenderingAPIOpenGLES1 to my renderer class based on openGLES2.
I just had this issue when trying to use in-app-purchases.
Not sure if yours is the same issue, but I realised that you HAVE to create a Sandbox User in iTunes Connect, then log into iCloud on an iOS device with that user to enable the app to work.
I got this console warning message because of issues with multiple Apple Developer accounts. Evidently you cannot have a sandbox account with an existing Apple Developer account. I didn't try to create a sandbox account but it seems to check my default account, which is also an old Apple Developer account that I don't use and hence is no longer entitled. This issue has been reported to Apple many times by other people and I have not yet seen a solution.
My workaround to suppress this warning was to set the OS_ACTIVITY_MODE environment variable to disable in my scheme settings. You can click on the app name and then click Edit Scheme... or from the top menu you can click Product->Scheme->Edit Scheme... :
Then you edit the "Run" settings and add the environment variable OS_ACTIVITY_MODE and set it to disable:
NOTE: Be sure to set this environment variable to enable before you submit your app so that you can see if there are other warnings. There may be other warnings you should fix before you submit your app to the App Store.

how to check iOS 6 privacy setting on contact for a particular app?

I have an iOS app reading native phonebook and save them into a local sqlite3 db. you know in iOS6, a new feature named privacy setting is added in system.
so my question comes, how to check privacy setting for my app on reading contact is disabled?
is there any notification sent?
I searched lots of sites but no good result. Currently my app's behavior is,
disable reading contact, when app is switch from background to foreground, or re-launch sometimes(other times works.), contact still showed in my app's list.
Thanks in advance!
now iOS 6 is open to public. I tried and found that is simple. check address book is nil is fine.This is work for iOS release version.
For previous prerelease version, it is not always true. it may return 0 contact number. Anyway, it is not the end user version.

Is there any way to programmatically delete my own iOS app?

Is there any way within the iOS SDK for an app to delete itself?
I'm seeking the following behavior:
If a user fails to enter the correct password to log in (5 times)
The app deletes all user data AND deletes itself from the iPhone.
I understand how to delete all user data. I'm just asking if it's possible to delete the app as well.
No, only the user (or iTunes, or Xcode's Organizer) can remove applications from the device.
Not at all. All your app can do is delete its user data and refuse to do anything else. Removing it from the system is entirely up to the user.
No, it's not possible. I don't know about jailbroken devices though.

How do I programmatically remove an application from an iOS device? [duplicate]

This question already has answers here:
Closed 10 years ago.
Possible Duplicate:
Programmatically delete my own app
Currently I am working on a iphone application and one of the critical requirement of the application is if a user cannot successfully authenticate after 5 attempts, the application is removed from the user’s iPhone.
How can I achieve this goal?
Being able to alter things outside of the application's own sandbox is a huge security risk that Apple (understandably) has not allowed. Therefore you will not be able to do this. The best you can do is store the result in a persistent value and not allow to app to continue after launching. For bonus points, you can store this value in the iOS keychain so that it will persist between installs if you like, then the user will be forced to reset their ios device to factory defaults to be able to use it again.
Can't be done. The best you can do is to make your app stop functioning after five failed authentication attempts.
you cant. the only one who can have this privilige is the user. You could just make the app to not open anymore, making the user angry and then deleting it afterwards.
Its not possible. You should handle it programmatically like locking the application. Once user is failed for 5 attempts, change your startup viewcontroller and do not allow the user to navigate any where else. Here you can display some message to delete the app.
An application, installed in a non-jailbroken device, is a sandboxed eco-system.
If your app is for App Store, this thing cannot be done. If this app is for a JB device (for In-House apps would be possible, but I think you need root permissions to delete apps), try to remove the app file from disk after the app has gone on background (but I'm quite sure files are locked, so you'll not be able to do it). If this approach, as I guess, doesn't work due to locked files, you can try to search for private APIs.
It's not possible. You only solution is lock the app if authentication not success.

Resources