{
	"id": "174603",
	"key": "AC-6465",
	"fields": {
		"issuetype": {
			"id": "1",
			"description": "A problem which impairs or prevents the functions of the product.",
			"name": "Bug",
			"subtask": false
		},
		"project": {
			"id": "12217",
			"key": "AC",
			"name": "Appcelerator - INBOX",
			"projectCategory": {
				"id": "10000",
				"description": "",
				"name": "Customer Service"
			}
		},
		"resolution": null,
		"resolutiondate": null,
		"created": "2020-01-01T21:36:07.000+0000",
		"labels": [
			"ios"
		],
		"versions": [],
		"issuelinks": [],
		"assignee": {
			"name": "shossain",
			"key": "shossain",
			"displayName": "Shak Hossain",
			"active": false,
			"timeZone": "America/Los_Angeles"
		},
		"updated": "2020-01-29T20:24:31.000+0000",
		"status": {
			"description": "The issue is open and ready for the assignee to start work on it.",
			"name": "Open",
			"id": "1",
			"statusCategory": {
				"id": 2,
				"key": "new",
				"colorName": "blue-gray",
				"name": "To Do"
			}
		},
		"components": [
			{
				"id": "15000",
				"name": "Hyperloop"
			},
			{
				"id": "14548",
				"name": "Titanium SDK & CLI",
				"description": "Please enter tickets related to the MobileSDK here."
			}
		],
		"description": "I'm trying to authorize HealthKit via Hyperloop to query height of the user, so I run the following code:\r\n\r\n{code}\r\nimport {\r\n  HKHealthStore,\r\n} from 'HealthKit';\r\n\r\nif (HKHealthStore.isHealthDataAvailable()) {\r\n  Ti.API.log('available');\r\n} else {\r\n  Ti.API.log('not available');\r\n}\r\n\r\nlet hk = new HKHealthStore();\r\nhk.requestAuthorizationToShareTypes([], [], function() {});\r\n{code}\r\n\r\nIt does show \"available\" message, so I assume that heath data is available, but then it throughs an error \"hk.requestAuthorizationToShareTypes is not a function\", I've tried \"swift-like\" function \"requestAuthorization\" as well, but same result.\r\n\r\np.s. Is there any way to get available functions from Hyperloop?",
		"attachment": [],
		"flagged": false,
		"summary": "Hyperloop - HealthKit requestAuthorizationToShareTypes is not a function",
		"creator": {
			"name": "pmalakhaltsev",
			"key": "pmalakhaltsev",
			"displayName": "Petr Malakhaltsev",
			"active": true,
			"timeZone": "Europe/Budapest"
		},
		"subtasks": [],
		"reporter": {
			"name": "pmalakhaltsev",
			"key": "pmalakhaltsev",
			"displayName": "Petr Malakhaltsev",
			"active": true,
			"timeZone": "Europe/Budapest"
		},
		"environment": "Operating System\r\nName = Mac OS X\r\nVersion = 10.15.2\r\nArchitecture = 64bit\r\n# CPUs = 4\r\nMemory = 8589934592\r\nNode.js\r\nNode.js Version = 8.9.3\r\nnpm Version = 6.8.0\r\nTitanium CLI\r\nCLI Version = 5.2.2\r\nTitanium SDK\r\nSDK Version = 8.3.0.GA\r\nTarget Platform = iphone",
		"comment": {
			"comments": [
				{
					"id": "453434",
					"author": {
						"name": "jvennemann",
						"key": "jvennemann",
						"displayName": "Jan Vennemann",
						"active": true,
						"timeZone": "Europe/Berlin"
					},
					"body": "I guess you are trying to use [requestAuthorizationToShareTypes:readTypes:completion:|https://developer.apple.com/documentation/healthkit/hkhealthstore/1614152-requestauthorizationtosharetypes?language=objc].\r\n\r\nAccording to the conventions for [method names|https://docs.appcelerator.com/platform/latest/#!/guide/iOS_Hyperloop_Programming_Guide-section-src-46253491_iOSHyperloopProgrammingGuide-Namedmethods], this is the Hyperloop equivalent:\r\n\r\n{code}\r\nhk.requestAuthorizationToShareTypesReadTypesCompletion([], [], function() {});\r\n{code}",
					"updateAuthor": {
						"name": "jvennemann",
						"key": "jvennemann",
						"displayName": "Jan Vennemann",
						"active": true,
						"timeZone": "Europe/Berlin"
					},
					"created": "2020-01-06T12:18:29.000+0000",
					"updated": "2020-01-06T12:18:29.000+0000"
				},
				{
					"id": "453448",
					"author": {
						"name": "pmalakhaltsev",
						"key": "pmalakhaltsev",
						"displayName": "Petr Malakhaltsev",
						"active": true,
						"timeZone": "Europe/Budapest"
					},
					"body": "Yes, that's true. It was my mistake that I missed this part of the iOS Hyperloop Programming Guide.\r\n\r\nBut now, after I follow your suggestion it doesn't seem to do anything. No error, no authorization popup.\r\n\r\n{code}\r\nlet hk = new HKHealthStore();\r\nlet height = HKObjectType.quantityTypeForIdentifier('HKQuantityTypeIdentifierHeight');\r\nhk.requestAuthorizationToShareTypesReadTypesCompletion([height], [height], function completion(success, error) {\r\n  Ti.API.log('success');\r\n});\r\n{code}\r\n",
					"updateAuthor": {
						"name": "pmalakhaltsev",
						"key": "pmalakhaltsev",
						"displayName": "Petr Malakhaltsev",
						"active": true,
						"timeZone": "Europe/Budapest"
					},
					"created": "2020-01-06T20:12:33.000+0000",
					"updated": "2020-01-06T20:12:33.000+0000"
				},
				{
					"id": "453465",
					"author": {
						"name": "topener",
						"key": "topener",
						"displayName": "Rene Pot",
						"active": true,
						"timeZone": "Europe/Berlin"
					},
					"body": "[~pmalakhaltsev] have you configured the correct plist keys? Like NSHealthShareUsageDescription and NSHealthUpdateUsageDescription?",
					"updateAuthor": {
						"name": "topener",
						"key": "topener",
						"displayName": "Rene Pot",
						"active": true,
						"timeZone": "Europe/Berlin"
					},
					"created": "2020-01-07T14:22:11.000+0000",
					"updated": "2020-01-07T14:22:11.000+0000"
				},
				{
					"id": "453477",
					"author": {
						"name": "pmalakhaltsev",
						"key": "pmalakhaltsev",
						"displayName": "Petr Malakhaltsev",
						"active": true,
						"timeZone": "Europe/Budapest"
					},
					"body": "Yes, I have both keys in tiapp.xml\r\n{code}\r\n        NSHealthShareUsageDescription\r\n        Share data description\r\n        NSHealthUpdateUsageDescription\r\n        Access data description\r\n{code}\r\n\r\nAlso I have \"entitlements\" section:\r\n{code}\r\n    \r\n      \r\n        com.apple.developer.healthkit\r\n        \r\n        com.apple.developer.healthkit.access\r\n        \r\n      \r\n    \r\n{code}\r\n\r\nBesides this I've tried to clean the project and rebuild it. Doesn't help.\r\n\r\n",
					"updateAuthor": {
						"name": "pmalakhaltsev",
						"key": "pmalakhaltsev",
						"displayName": "Petr Malakhaltsev",
						"active": true,
						"timeZone": "Europe/Budapest"
					},
					"created": "2020-01-07T17:58:39.000+0000",
					"updated": "2020-01-07T17:58:39.000+0000"
				},
				{
					"id": "453840",
					"author": {
						"name": "topener",
						"key": "topener",
						"displayName": "Rene Pot",
						"active": true,
						"timeZone": "Europe/Berlin"
					},
					"body": "[~pmalakhaltsev] perhaps you have the same issue as [this guy?|https://stackoverflow.com/questions/26010554/requestauthorizationtosharetypes-method-not-displaying-permissions-prompt-in-ios] ",
					"updateAuthor": {
						"name": "topener",
						"key": "topener",
						"displayName": "Rene Pot",
						"active": true,
						"timeZone": "Europe/Berlin"
					},
					"created": "2020-01-28T10:14:58.000+0000",
					"updated": "2020-01-28T10:14:58.000+0000"
				},
				{
					"id": "453885",
					"author": {
						"name": "pmalakhaltsev",
						"key": "pmalakhaltsev",
						"displayName": "Petr Malakhaltsev",
						"active": true,
						"timeZone": "Europe/Budapest"
					},
					"body": "@topener, that's unlikely as:\r\n1. I pass not a string but (hopefully) quanityType\r\n{code:javascript}\r\nvar height = HKObjectType.quantityTypeForIdentifier(\"HKQuantityTypeIdentifierHeight\");\r\n{code}\r\n2. I initialize healthStore as an object (according to Hyperloop guide):\r\n{code:javascript}\r\nvar hk = HKHealthStore.alloc().init();\r\n// or\r\nvar hk = new HKHealthStore();\r\n{code}\r\nSo I can't spot any visible mistake in the code ..\r\n",
					"updateAuthor": {
						"name": "pmalakhaltsev",
						"key": "pmalakhaltsev",
						"displayName": "Petr Malakhaltsev",
						"active": true,
						"timeZone": "Europe/Budapest"
					},
					"created": "2020-01-29T20:24:31.000+0000",
					"updated": "2020-01-29T20:24:31.000+0000"
				}
			],
			"maxResults": 7,
			"total": 7,
			"startAt": 0
		}
	}
}