{ "id": "83571", "key": "TIMOB-6899", "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": [], "resolution": { "id": "10100", "description": "This issue won't be actioned.", "name": "Won't Do" }, "resolutiondate": "2020-01-09T19:36:04.000+0000", "created": "2011-12-11T14:46:49.000+0000", "priority": { "name": "Low", "id": "4" }, "labels": [ "cb-tooling" ], "versions": [ { "id": "12570", "name": "Release 1.7.5", "archived": true, "released": true, "releaseDate": "2011-11-02" } ], "issuelinks": [], "assignee": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2020-01-09T19:36:04.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": "10207", "name": "Tooling" } ], "description": "h2. Problem\r\n\r\nNote: This ticket requests parity between iOS and Android \r\n\r\nIf you start a new iOS module and need to add an outside framework or library that needs to get distributed with your application, as of now you need to use module.xcconfig to specify the FRAMEWORK_PATH for your module. It's not clear to developers, even from the documentation, that if you include a framework that's not part of the standard iOS API, the module will not compile on other people's machines. \r\n\r\nThis is a problem if a module is being distributed on the marketplace.\r\n\r\nh2. Request / Solution\r\n\r\nA place for external frameworks and libraries to be compiled into the final module package.\r\n\r\nAndroid does this with the lib folder. For parity, iOS should do the same.\r\n\r\nA workaround to the above is to include the framework in the assets folder but anything in the assets folder gets included in the final API Resources which is bad since it severely bloats the application. \r\n\r\nAnother workaround is to have a /lib or /frameworks folder in the module in which the build.py folder makes sure to include the files in the zipped module folder without it ending up in the final application assets. Also it would be nice if the build.py file would automatically insert the appropriate FRAMEWORK_PATHS in the module.xcconfig file so that the module's libraries and frameworks can be found.\r\n\r\nh2. Test case\r\n\r\nI've attached an example module.xcconfig and build.py that searches in the project (that it's being used in) directory and in the global titanium modules directory. This was used in my Parse API Module in the marketplace to address these issues. \r\n\r\nThe only changes in the build.py file are that it looks in a folder called frameworks and includes it in the module zip file. It also replaces the version number in the module.xcconfig as this is necessary to find the frameworks folder at compile time from the module.\r\n", "attachment": [ { "id": "24563", "filename": "build.py", "author": { "name": "programmerdave", "key": "programmerdave", "displayName": "David Rodriguez", "active": true, "timeZone": "America/New_York" }, "created": "2011-12-11T14:46:49.000+0000", "size": 6386, "mimeType": "text/x-python-script" }, { "id": "24564", "filename": "module.xcconfig", "author": { "name": "programmerdave", "key": "programmerdave", "displayName": "David Rodriguez", "active": true, "timeZone": "America/New_York" }, "created": "2011-12-11T14:46:49.000+0000", "size": 1213, "mimeType": "application/octet-stream" } ], "flagged": false, "summary": "iOS: Tooling - provide lib folder to allow external libraries to be compiled into module package", "creator": { "name": "programmerdave", "key": "programmerdave", "displayName": "David Rodriguez", "active": true, "timeZone": "America/New_York" }, "subtasks": [], "reporter": { "name": "programmerdave", "key": "programmerdave", "displayName": "David Rodriguez", "active": true, "timeZone": "America/New_York" }, "environment": "* Titanium Mobile v1.7.5 and above\r\n* Tested up to version 1.7.6.v20111209013042\r\n* Using Titanium Studio v 1.0.6\r\n* MacPro8,3 Snow Leopard", "comment": { "comments": [ { "id": "453578", "author": { "name": "ahutton", "key": "ahutton", "displayName": "Alan Hutton", "active": true, "timeZone": "America/Los_Angeles" }, "body": "It has been decided that this issue should be closed as “Won’t do.” This issue is out of date with our current supported SDK release (7.5.2.GA as of the date of closure), and out of date with mobile OS versions. \r\n\r\nIf community members feel that the issue is still valid, please create a new ticket. Please reference this closed ticket number, include SDK used, comments, and code that demonstrates/reproduces the issue.", "updateAuthor": { "name": "ahutton", "key": "ahutton", "displayName": "Alan Hutton", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2020-01-09T19:36:04.000+0000", "updated": "2020-01-09T19:36:04.000+0000" } ], "maxResults": 1, "total": 1, "startAt": 0 } } }