iOS Calendar Access Permission Dialog, Force It to Appear

iOS Calendar Access Permission Dialog, force it to appear?

Settings > General > Reset > Reset Location and Privacy

force ios app to request permission again

It's described in TN2265:

  1. Delete your app from the device.
  2. Turn the device off completely and turn it back on.
  3. Go to Settings > General > Date & Time and set the date ahead a day or more.
  4. Turn the device off completely again and turn it back on.

Titanium Force Calendar Access Request

First, you need to check the device to see if it's even requesting access to the calendar. To do this, Go to Settings -> Privacy --> Calendars. If you're application has requested calendar access, it will show up there.

Settings screen

(source: iphone-to-ipad.com)

Privacy settings

(source: iphonehacks.com)

There were a couple of problems with this calendar module. I fixed them in obj-c. I had to do quite a few things to the calendar module to make it work smooth on iPad. If you look on the Titanium forums for this calendar module and my name (Blake Rogers) you should be able to find a bunch of changes I've made to the module in obj c to fix the problem.

To perform this fix you will actually need to download the Xcode project for the calendar. After that, you will need to add the following code in the Module/AgCalendarModule.m file. Replace the startup method with the following in that file.

Once you've replaced the code you will need to recompile it using the build.py (if I remember correctly... it's been awhile) once you compile it using the build.py you can add that version of the module back in your current project that you're working on.

-(void)startup
{
// this method is called when the module is first loaded
// you *must* call the superclass
[super startup];
EKEventStore *es = [[EKEventStore alloc] init];
[es requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) {
/* This code will run when uses has made his/her choice */
}];
NSLog(@"[INFO] %@ loaded",self);
}

To be honest, Titanium was a horrible experience for me. Once my app got bigger than the initial proof of concept and involved syncing with a remote web server... I started getting weird errors from memory leaks that you couldn't reproduce because the memory leak would attack at different times.

I am currently switching (yes rebuilding the entire app from scratch) to Xamarin (Monotouch) which has been great :)

iOS Permission - Ideal Microphone Permission Dialog Text

Try an easy statement like :

"This app requires the access to Microphone to record your voice memo."

I have this statement in one of my app and it was accepted.

How to ask for permission to access iphone contacts addressbook again?

You can reset your privacy settings.

Settings > General > Reset > Reset Location & Privacy.

Current location permission dialog disappears too quickly

While difficult to track down, the solution for this is quite simple.

Through much trial and error I found out that while the location access dialog pops up when you try to access any location services in the app for the first time, the dialog disappears on its own (without any user interaction) if the CLLocationManager object is released before the user responds to the dialog.

I was creating a CLLocationManager instance in my viewDidLoad method. Since this was a local instance to the method, the instance was released by ARC after the method completed executing. As soon as the instance was released, the dialog disappeared. The solution was rather simple. Change the CLLocationManager instance from being a method-level variable to be a class-level instance variable. Now the CLLocationManager instance is only released once the class is unloaded.

Repeating the process of requestAccessToEntityType:EKEntityTypeEvent during development

Settings - General - Reset - Reset Location & Privacy



Related Topics



Leave a reply



Submit