{
"id": "163223",
"key": "TIMOB-23907",
"fields": {
"issuetype": {
"id": "1",
"description": "A problem which impairs or prevents the functions of the product.",
"name": "Bug",
"subtask": false
},
"project": {
"id": "10153",
"key": "TIMOB",
"name": "Titanium SDK/CLI",
"projectCategory": {
"id": "10100",
"description": "Titanium and related SDKs used in application development",
"name": "Client"
}
},
"fixVersions": [
{
"id": "18246",
"name": "Hyperloop 2.0.1",
"archived": false,
"released": true,
"releaseDate": "2017-03-17"
}
],
"resolution": {
"id": "1",
"description": "A fix for this issue is checked into the tree and tested.",
"name": "Fixed"
},
"resolutiondate": "2017-03-03T14:02:57.000+0000",
"created": "2016-09-15T06:45:42.000+0000",
"priority": {
"name": "High",
"id": "2"
},
"labels": [],
"versions": [],
"issuelinks": [
{
"id": "54499",
"type": {
"id": "10002",
"name": "Duplicate",
"inward": "is duplicated by",
"outward": "duplicates"
},
"inwardIssue": {
"id": "164326",
"key": "TIMOB-24186",
"fields": {
"summary": "Hyperloop: iOS - Allow Obj-C categories in generated metabase",
"status": {
"description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.",
"name": "Closed",
"id": "6",
"statusCategory": {
"id": 3,
"key": "done",
"colorName": "green",
"name": "Done"
}
},
"priority": {
"name": "High",
"id": "2"
},
"issuetype": {
"id": "4",
"description": "An improvement or enhancement to an existing feature or task.",
"name": "Improvement",
"subtask": false
}
}
}
}
],
"assignee": {
"name": "jvennemann",
"key": "jvennemann",
"displayName": "Jan Vennemann",
"active": true,
"timeZone": "Europe/Berlin"
},
"updated": "2017-03-16T13:11:47.000+0000",
"status": {
"description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.",
"name": "Closed",
"id": "6",
"statusCategory": {
"id": 3,
"key": "done",
"colorName": "green",
"name": "Done"
}
},
"components": [],
"description": "The class SFSpeechRecognitionResult will be detected but does not include any metadata info about its properties or methods. This is due to the class being forward declared with {{@class}} and then being used as a block argument which is an argument to another method.\r\n\r\nSFSpeechRecognizer.h:\r\n{code:objective-c}\r\n- (SFSpeechRecognitionTask *)recognitionTaskWithRequest:(SFSpeechRecognitionRequest *)request resultHandler:(void (^)(SFSpeechRecognitionResult * __nullable result, NSError * __nullable error))resultHandler;\r\n{code}\r\n\r\nThis probably applies to other Classes that are also referenced like this.",
"attachment": [
{
"id": "61669",
"filename": "one_more_thing.mp3",
"author": {
"name": "jvennemann",
"key": "jvennemann",
"displayName": "Jan Vennemann",
"active": true,
"timeZone": "Europe/Berlin"
},
"created": "2017-02-23T14:56:48.000+0000",
"size": 220472,
"mimeType": "audio/mp3"
}
],
"flagged": false,
"summary": "Hyperloop: Incomplete Metadata for forward declarations",
"creator": {
"name": "jvennemann",
"key": "jvennemann",
"displayName": "Jan Vennemann",
"active": true,
"timeZone": "Europe/Berlin"
},
"subtasks": [],
"reporter": {
"name": "jvennemann",
"key": "jvennemann",
"displayName": "Jan Vennemann",
"active": true,
"timeZone": "Europe/Berlin"
},
"environment": null,
"comment": {
"comments": [
{
"id": "407741",
"author": {
"name": "jvennemann",
"key": "jvennemann",
"displayName": "Jan Vennemann",
"active": true,
"timeZone": "Europe/Berlin"
},
"body": "PR (master): https://github.com/appcelerator/hyperloop.next/pull/125\r\nPR (2_0_X): https://github.com/appcelerator/hyperloop.next/pull/126\r\n\r\n*Testing steps*\r\n1. Create a new Hyperloop enabled classic app\r\n2. Add a usage description to the plist section in tiapp.xml\r\n{code}\r\nNSSpeechRecognitionUsageDescription\r\nUse speech recognition\r\n{code}\r\n3. Paste the following code in your app.js\r\n{code:js}\r\nvar SFSpeechRecognizer = require(\"Speech/SFSpeechRecognizer\");\r\nvar SFSpeechURLRecognitionRequest = require(\"Speech/SFSpeechURLRecognitionRequest\");\r\nvar NSBundle = require('Foundation/NSBundle');\r\nvar NSLocale = require(\"Foundation/NSLocale\");\r\nvar NSURL = require('Foundation/NSURL');\r\nvar speechRecognizer = SFSpeechRecognizer.alloc().initWithLocale(NSLocale.alloc().initWithLocaleIdentifier(\"en_US\"));\r\nif (speechRecognizer.isAvailable()) {\r\n var soundPath = NSBundle.mainBundle.pathForResourceOfType(\"one_more_thing\", \"mp3\");\r\n var soundURL = NSURL.fileURLWithPath(soundPath);\r\n var request = SFSpeechURLRecognitionRequest.alloc().initWithURL(soundURL);\r\n speechRecognizer.recognitionTaskWithRequestResultHandler(request, function(result, error) {\r\n Ti.API.debug(result.bestTranscription.formattedString);\r\n Ti.API.debug(result.isFinal());\r\n });\r\n} else {\r\n Ti.API.info('Speech recognizer not available');\r\n}\r\n{code}\r\n4. Save the attached audio file under {{Resources/iphone}}\r\n5. Build and launch the app on a device. It should log the transcriptions process.",
"updateAuthor": {
"name": "jvennemann",
"key": "jvennemann",
"displayName": "Jan Vennemann",
"active": true,
"timeZone": "Europe/Berlin"
},
"created": "2017-02-23T14:55:42.000+0000",
"updated": "2017-02-23T14:59:08.000+0000"
},
{
"id": "412783",
"author": {
"name": "htbryant",
"key": "htbryant",
"displayName": "Harry Bryant",
"active": true,
"timeZone": "Europe/London"
},
"body": "Verified as fixed, testing with both Hyperloop module versions 2.0.1 & 2.1.0, the demo code provided above now transcribes audio files correctly.\r\n\r\nTested On:\r\nHyperloop Module (2.0.1 / 2.1.0)\r\nCocoaPods 1.2.0\r\niPhone 7 10.2 Device\r\nMac OS Sierra (10.12.2)\r\nTi SDK: 6.0.3.v20170314141715\r\nAppc NPM: 4.2.9-1\r\nApp CLI: 6.1.0\r\nXcode 8.2.1\r\nNode v4.6.0\r\n\r\n*Closing ticket.*\r\n\r\n",
"updateAuthor": {
"name": "htbryant",
"key": "htbryant",
"displayName": "Harry Bryant",
"active": true,
"timeZone": "Europe/London"
},
"created": "2017-03-16T13:11:32.000+0000",
"updated": "2017-03-16T13:11:32.000+0000"
}
],
"maxResults": 2,
"total": 2,
"startAt": 0
}
}
}