{"metadata":{"image":[],"title":"","description":""},"api":{"url":"","auth":"required","settings":"","results":{"codes":[]},"params":[]},"next":{"description":"","pages":[]},"title":"Permissions","type":"basic","slug":"permissions","excerpt":"","body":"During the Pulsate Manager instantiation you can declare if you want remote notifications or location authorization prompts to be shown when the *startPulsateSession* method is called. You can delay these prompts by passing *NO* and using  *startLocation*, *startRemoteNotifications* at your convenience.\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"PULPulsateManager* pulsateManager = [PULPulsateFactory getInstanceWithAuthorizationData:authData andLocationEnabled:NO withRemoteNotificationsEnabled:NO withLaunchOptions:launchOptions error:&error];\\n\\n[pulsateManager startPulsateSession:^(BOOL success, NSError* error) {}];\\n\\n\\t// The session lifecycle has started, but without remote notifications \\tand location\\n\\n\\t//... \\n\\n\\t// At the time of your convenience you can start the modules you want and present the authorization prompts to the user.\\n\\n[pulsateManager startLocation];\\n\\n// You can also use the startRemoteNotificationsWithSettings: method if you want to pass custom UIUserNotificationSettings settings \\n[pulsateManager startRemoteNotifications];\",\n      \"language\": \"objectivec\"\n    }\n  ]\n}\n[/block]\n\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"let pulsateManager = try PULPulsateFactory.getInstanceWith(authData, withLocationEnabled: false, withPushEnabled: false, withLaunchOptions: launchOptions, withPulsateAppDelegate: true);\\n             \\npulsateManager.startPulsateSession()\\n\\n// The session lifecycle has started, but without remote notifications \\tand location\\n//... \\n// At the time of your convenience you can start the modules you want and present the authorization prompts to the user.\\n\\npulsateManager.startLocation()\\n// You can also use the startRemoteNotificationsWithSettings: method if you want to pass custom UIUserNotificationSettings settings \\npulsateManager.startRemoteNotifications()\\n\",\n      \"language\": \"swift\"\n    }\n  ]\n}\n[/block]","updates":[],"order":4,"isReference":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"_id":"5f464f3829937910320361e1","createdAt":"2020-08-26T12:02:00.070Z","user":"57bc3654b9c7f0220009c77b","category":{"sync":{"isSync":false,"url":""},"pages":[],"title":"SDK Quick Start","slug":"sdk-quick-start","order":1,"from_sync":false,"reference":false,"_id":"5f44d1fbd1c58d040fdf03ba","createdAt":"2020-08-25T08:55:23.033Z","version":"5e5013741b3b20006532951d","project":"54aa7f773b56130b0056c86e","__v":0},"version":{"version":"2.7","version_clean":"2.7.0","codename":"iOS SDK","is_stable":false,"is_beta":false,"is_hidden":false,"is_deprecated":false,"categories":["5e5013741b3b200065329486","55781fe35129590d003ff4f9","55781fe35129590d003ff4fa","5e5013741b3b200065329487","5e5013741b3b200065329488","5e5013741b3b200065329489","5e5013741b3b20006532948a","5e5013741b3b20006532948b","565b66c446118c0d00dcb0bb","56898269f8dc340d00308c13","5e5013741b3b20006532948c","5e5013741b3b20006532948d","5c73dd27e8fdc000572a206a","5e5013741b3b20006532948e","5e53d9a2f75c0b0020de8935","5f44d1fbd1c58d040fdf03ba","5f44d202a2e3eb02b1c4c806","5f44d209703f05006a2a4fa9","5f44d210b1ba9f004200b689"],"_id":"5e5013741b3b20006532951d","project":"54aa7f773b56130b0056c86e","forked_from":"5e4fbbbda8fb41028f1861fe","__v":5,"createdAt":"2015-06-10T11:30:42.700Z","releaseDate":"2015-06-10T11:30:42.700Z"},"project":"54aa7f773b56130b0056c86e","__v":0,"parentDoc":null}
During the Pulsate Manager instantiation you can declare if you want remote notifications or location authorization prompts to be shown when the *startPulsateSession* method is called. You can delay these prompts by passing *NO* and using *startLocation*, *startRemoteNotifications* at your convenience. [block:code] { "codes": [ { "code": "PULPulsateManager* pulsateManager = [PULPulsateFactory getInstanceWithAuthorizationData:authData andLocationEnabled:NO withRemoteNotificationsEnabled:NO withLaunchOptions:launchOptions error:&error];\n\n[pulsateManager startPulsateSession:^(BOOL success, NSError* error) {}];\n\n\t// The session lifecycle has started, but without remote notifications \tand location\n\n\t//... \n\n\t// At the time of your convenience you can start the modules you want and present the authorization prompts to the user.\n\n[pulsateManager startLocation];\n\n// You can also use the startRemoteNotificationsWithSettings: method if you want to pass custom UIUserNotificationSettings settings \n[pulsateManager startRemoteNotifications];", "language": "objectivec" } ] } [/block] [block:code] { "codes": [ { "code": "let pulsateManager = try PULPulsateFactory.getInstanceWith(authData, withLocationEnabled: false, withPushEnabled: false, withLaunchOptions: launchOptions, withPulsateAppDelegate: true);\n \npulsateManager.startPulsateSession()\n\n// The session lifecycle has started, but without remote notifications \tand location\n//... \n// At the time of your convenience you can start the modules you want and present the authorization prompts to the user.\n\npulsateManager.startLocation()\n// You can also use the startRemoteNotificationsWithSettings: method if you want to pass custom UIUserNotificationSettings settings \npulsateManager.startRemoteNotifications()\n", "language": "swift" } ] } [/block]