{ "id": "164326", "key": "TIMOB-24186", "fields": { "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "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": [], "resolution": { "id": "3", "description": "The problem is a duplicate of an existing issue.", "name": "Duplicate" }, "resolutiondate": "2017-03-03T14:55:59.000+0000", "created": "2016-11-02T07:53:49.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "look1" ], "versions": [], "issuelinks": [ { "id": "54499", "type": { "id": "10002", "name": "Duplicate", "inward": "is duplicated by", "outward": "duplicates" }, "outwardIssue": { "id": "163223", "key": "TIMOB-23907", "fields": { "summary": "Hyperloop: Incomplete Metadata for forward declarations", "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": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "54500", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "166407", "key": "TIMOB-24450", "fields": { "summary": "Hyperloop: iOS - Invalid wrapper code generated for blocks within generic classes", "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" } }, "priority": { "name": "Medium", "id": "3" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2017-03-31T22:49:08.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": [ { "id": "13715", "name": "Hyperloop", "description": "Hyperloop project" }, { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "I'm trying to use the Dropbox Official cocoa pod with Hyperloop and found an issue while trying to require an specific file with a special character \"+\".\r\nThe official Dropbox documentation tells us to require only one file:\r\n\r\n{code:java}\r\n#import \r\n{code}\r\n\r\nI know I can't require only this single file with Hyperloop (Which make the things harder for developers) and I have to require every single file I'm willing to use, so I've created the following requires:\r\n\r\n{code:java}\r\nvar DropboxClient = require('ObjectiveDropboxOfficial/DropboxClient');\r\nvar DropboxClientsManager = require('ObjectiveDropboxOfficial/DropboxClientsManager');\r\nvar DropboxTeamClient = require('ObjectiveDropboxOfficial/DropboxTeamClient');\r\nvar ObjectiveDropboxOfficial = require('ObjectiveDropboxOfficial/ObjectiveDropboxOfficial');\r\nvar MobileAuth = require('ObjectiveDropboxOfficial/DropboxClientsManager+MobileAuth');\r\n{code}\r\n\r\nAll of them work fine apart from the last one \"/DropboxClientsManager+MobileAuth\". \r\nAll of them are specified as a \"public header\". \r\n\r\nI do think the issue might be the special character when Hyperloop created the wrappers. \r\n\r\nThis is my podfile:\r\n\r\n{code:java}\r\ninstall! 'cocoapods',\r\n :integrate_targets => false\r\n\r\nplatform :ios, '8.0'\r\ntarget 'tidropbox' do\r\n pod 'ObjectiveDropboxOfficial'\r\nend\r\n{code}\r\n", "attachment": [], "flagged": false, "summary": "Hyperloop: iOS - Allow Obj-C categories in generated metabase", "creator": { "name": "xicovarisco_orange", "key": "xicovarisco_orange", "displayName": "Francisco Ruaro Varisco", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "xicovarisco_orange", "key": "xicovarisco_orange", "displayName": "Francisco Ruaro Varisco", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "Operating System\r\n Name = Mac OS X\r\n Version = 10.12.1\r\n Architecture = 64bit\r\n # CPUs = 8\r\n Memory = 16.0GB\r\n\r\nNode.js\r\n Node.js Version = 4.5.0\r\n npm Version = 3.10.8\r\n\r\nAppcelerator CLI\r\n Installer = 4.2.7\r\n Core Package = 6.0.0-68\r\n\r\nTitanium CLI\r\n CLI Version = 5.0.10\r\n node-appc Version = 0.2.31\r\n\r\nSDK - 6.0.0.v20161101155110\r\nPod - 1.0.1\r\n", "comment": { "comments": [ { "id": "400241", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "The \"special character\" indicates a category that should not be required directly. Instead, the metabase should add the functionality to the related class. So in your case, you would only need to require {{var DropboxClientsManager = require('ObjectiveDropboxOfficial/DropboxClientsManager');}} and the related category methods should be available. If not, it's a new feature request to support categories in metabases.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-11-02T11:25:41.000+0000", "updated": "2016-11-02T22:33:47.000+0000" }, { "id": "400302", "author": { "name": "xicovarisco_orange", "key": "xicovarisco_orange", "displayName": "Francisco Ruaro Varisco", "active": true, "timeZone": "America/Los_Angeles" }, "body": "@hans I've just tried your and it didn't work. I believe the categories are not being generated in the metabase.\r\n\r\nMy code to test:\r\n\r\n{code:java}\r\nvar DropboxClientsManager = require('ObjectiveDropboxOfficial/DropboxClientsManager');\r\n\r\nfunction doClick(e) {\r\n var test = DropboxClientsManager.setupWithAppKey('hs7wlr0a1d1chiy');\r\n}\r\n\r\n$.index.open();\r\n\r\n{code}\r\n\r\nIt did create the wrapper, but without the functions of its category. \r\n\r\n\r\n{code:java}\r\n[ERROR] message = \"undefined is not a function (evaluating 'DropboxClientsManager.setupWithAppKey(\\\"hs7wlr0a1d1chiy\\\")')\";\r\n{code}\r\n\r\nHope it helps.", "updateAuthor": { "name": "xicovarisco_orange", "key": "xicovarisco_orange", "displayName": "Francisco Ruaro Varisco", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-11-02T22:50:08.000+0000", "updated": "2016-11-02T22:50:08.000+0000" }, { "id": "400635", "author": { "name": "mdelmarter", "key": "mdelmarter", "displayName": "Matthew Delmarter", "active": true, "timeZone": "Pacific/Auckland" }, "body": "Hoping this is given priority as the issue is blocking the development of a very important module...", "updateAuthor": { "name": "mdelmarter", "key": "mdelmarter", "displayName": "Matthew Delmarter", "active": true, "timeZone": "Pacific/Auckland" }, "created": "2016-11-09T03:21:03.000+0000", "updated": "2016-11-09T03:21:03.000+0000" }, { "id": "400866", "author": { "name": "xicovarisco_orange", "key": "xicovarisco_orange", "displayName": "Francisco Ruaro Varisco", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Nothing yet???", "updateAuthor": { "name": "xicovarisco_orange", "key": "xicovarisco_orange", "displayName": "Francisco Ruaro Varisco", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-11-14T04:36:13.000+0000", "updated": "2016-11-14T04:36:13.000+0000" }, { "id": "400870", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "[~xicovarisco_orange] This ticket was created less than 2 weeks ago. We will look into it after the 6.0.0.GA release.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2016-11-14T06:38:03.000+0000", "updated": "2016-11-14T06:38:03.000+0000" }, { "id": "403752", "author": { "name": "mdelmarter", "key": "mdelmarter", "displayName": "Matthew Delmarter", "active": true, "timeZone": "Pacific/Auckland" }, "body": "Can this be included in 6.1.0 please? Similar to TIMOB-23853 (which has already been prioritised) this issue is blocking using HyperLoop with a key framework (in this case Dropbox), which is one of the main reasons I upgraded to the Pro subscription several weeks ago :/", "updateAuthor": { "name": "mdelmarter", "key": "mdelmarter", "displayName": "Matthew Delmarter", "active": true, "timeZone": "Pacific/Auckland" }, "created": "2016-12-21T18:25:51.000+0000", "updated": "2016-12-21T18:25:51.000+0000" }, { "id": "408848", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "This will be part of Hyperloop 2.0.1 already. The release is a bit behind schedule, since we took in more fixed then planned. Anyway, the Dropbox SDK causes a different issue, since they use generic types (e.g. {{NSArray}}) which we are currently looking into. To speed-up the whole process, that one will rather be in 2.0.2. I hope that insight will help, thx!\r\n\r\n*EDIT*: For the specific Dropbox generics ticket, please follow-up in TIMOB-24450.", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-03-03T14:46:26.000+0000", "updated": "2017-03-03T14:57:28.000+0000" }, { "id": "416621", "author": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Closing ticket as duplicate, the relevant ticket is linked above.", "updateAuthor": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2017-03-31T22:49:08.000+0000", "updated": "2017-03-31T22:49:08.000+0000" } ], "maxResults": 9, "total": 9, "startAt": 0 } } }