{ "id": "110035", "key": "AC-1825", "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": { "id": "8", "description": "", "name": "Needs more info" }, "resolutiondate": "2013-04-04T20:04:43.000+0000", "created": "2013-02-22T18:27:32.000+0000", "labels": [], "versions": [], "issuelinks": [ { "id": "37809", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "130878", "key": "TIMOB-17030", "fields": { "summary": "OTHER_CFLAGS from module.xcconfig only present in Release configurations", "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": "Low", "id": "4" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "penrique", "key": "penrique", "displayName": "Pedro Enrique", "active": false, "timeZone": "America/Los_Angeles" }, "updated": "2016-03-08T07:40:43.000+0000", "status": { "description": "A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.", "name": "Resolved", "id": "5", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "14552", "name": "Appcelerator CLI", "description": "Please enter tickets related to Tooling and the CLI here" } ], "description": "I have a module that extends the standard Ti.UI.TabGroup and Ti.UI.ImageView classes (https://github.com/pegli/TiUIEx). The module won't compile without the TiUITabViewProxy and TiUIImageView classes from the SDK, so I added the following to the module's {{module.xcconfig}}:\r\n\r\n{code:none}\r\nOTHER_CFLAGS=$(inherited) -DUSE_TI_UITAB -DUSE_TI_UIIMAGEVIEW\r\n{code}\r\n\r\nWhen I package the module and add it to an empty app project, the app builds and runs fine using the CLI and Studio when targeted against the simulator. When I build for the device, however, I get undefined symbols. The CLI call is:\r\n\r\n{code:none}\r\nti build -T device -V 'Paul Mietz Egli' -P 86666302-83C6-42FC-97EF-3EFEA6B3048F -p iphone\r\n{code}\r\n\r\nwhich outputs an ld error. If I open the generated project in Xcode and build for device, I get a little more info:\r\n\r\n{code:none}\r\nUndefined symbols for architecture armv7:\r\n \"_OBJC_METACLASS_$_TiUITabGroupProxy\", referenced from:\r\n _OBJC_METACLASS_$_TiUITabGroupProxyEx in libcom.obscure.tiuiex.a(TiUITabGroupProxyEx.o)\r\n (maybe you meant: _OBJC_METACLASS_$_TiUITabGroupProxyEx)\r\n \"_OBJC_CLASS_$_TiUITabGroupProxy\", referenced from:\r\n _OBJC_CLASS_$_TiUITabGroupProxyEx in libcom.obscure.tiuiex.a(TiUITabGroupProxyEx.o)\r\n (maybe you meant: _OBJC_CLASS_$_TiUITabGroupProxyEx)\r\n \"_OBJC_METACLASS_$_TiUIImageViewProxy\", referenced from:\r\n _OBJC_METACLASS_$_ComObscureTiUIExImageViewProxy in libcom.obscure.tiuiex.a(ComObscureTiUIExImageViewProxy.o)\r\n \"_OBJC_CLASS_$_TiUIImageViewProxy\", referenced from:\r\n _OBJC_CLASS_$_ComObscureTiUIExImageViewProxy in libcom.obscure.tiuiex.a(ComObscureTiUIExImageViewProxy.o)\r\n \"_OBJC_METACLASS_$_TiUIImageView\", referenced from:\r\n _OBJC_METACLASS_$_ComObscureTiUIExImageView in libcom.obscure.tiuiex.a(ComObscureTiUIExImageView.o)\r\n \"_OBJC_CLASS_$_TiUIImageView\", referenced from:\r\n _OBJC_CLASS_$_ComObscureTiUIExImageView in libcom.obscure.tiuiex.a(ComObscureTiUIExImageView.o)\r\n{code}\r\n\r\nIn {{build/iphone}}, I see the generated module.xcconfig file with my OTHER_CFLAGS, but when I dig into the generated .xccodeproj/project.pbxproj, I see that those CFLAGS are only applied to Release builds. The OTHER_CFLAGS settings for Debug and Developer targets are overridden and therefore do not inherit from the project setting.\r\n\r\nThis issue makes it very hard to test my module in an app, and users of my module are confused as to why they are getting linker errors.", "attachment": [], "flagged": false, "summary": "CLI: OTHER_CFLAGS from module.xcconfig only present in Release configurations of app build", "creator": { "name": "pegli", "key": "pegli", "displayName": "Paul Mietz Egli", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "pegli", "key": "pegli", "displayName": "Paul Mietz Egli", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "OSX 10.8.2, Ti SDK 3.0.2.GA, Xcode 4.6", "comment": { "comments": [ { "id": "245774", "author": { "name": "penrique", "key": "penrique", "displayName": "Pedro Enrique", "active": false, "timeZone": "America/Los_Angeles" }, "body": "You must use the Ti.UI.ImageView and Ti.UI.TabGruop in your JS in order for those classes to be included in the final build. The build scripts will remove the native classes that are not needed according to your JS", "updateAuthor": { "name": "penrique", "key": "penrique", "displayName": "Pedro Enrique", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2013-04-04T20:04:43.000+0000", "updated": "2013-04-04T20:04:43.000+0000" }, { "id": "245783", "author": { "name": "pegli", "key": "pegli", "displayName": "Paul Mietz Egli", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I'm familiar with how the build process searches through the app JavaScript and adds compiler flags to include the native proxy classes in the compiled application executable. My issue is that the OTHER_CFLAGS directive in module.xcconfig is being respected only when the build target is Release and not when it is set to Developer or Debug.", "updateAuthor": { "name": "pegli", "key": "pegli", "displayName": "Paul Mietz Egli", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-04-04T20:34:11.000+0000", "updated": "2013-04-04T20:34:11.000+0000" } ], "maxResults": 2, "total": 2, "startAt": 0 } } }