{ "id": "63232", "key": "TIMOB-2600", "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": "5", "description": "All attempts at reproducing this issue failed, or not enough information was available to reproduce the issue. Reading the code produces no clues as to why this behavior would occur. If more information appears later, please reopen the issue.", "name": "Cannot Reproduce" }, "resolutiondate": "2019-11-20T21:38:36.000+0000", "created": "2011-04-15T03:24:05.000+0000", "priority": { "name": "Low", "id": "4" }, "labels": [ "core" ], "versions": [ { "id": "13505", "description": "Release 3.0.0", "name": "Release 3.0.0", "archived": true, "released": true, "releaseDate": "2012-12-14" } ], "issuelinks": [ { "id": "19919", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "99137", "key": "TIMOB-10430", "fields": { "summary": "iOS: cannot add tabGroup as a property of a window or a tabGroup", "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": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2019-11-20T21:38:36.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": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "{html}
When i build for simulator everything works as expected, but\r\nwhen i build for device it installs onto the phone, then when i\r\nopen the application the errors below appear and the app locks on\r\nthe splash screen. I've really tried everything and it looks like a\r\ncouple of other people have experienced similar issues:
\r\n\r\nhttp://developer.appcelerator.com/question/85671/invalid-method-cre...
\r\n\r\nhttp://developer.appcelerator.com/question/45181/test-working-in-ip...
The errors are:
\r\n[WARN] attempted to load: TiUITabGroupProxy\r\n[ERROR] Script Error = invalid method\r\n(createTabGroup) passed to UIModule at app.js (line 1). [ERROR] application received error: invalid\r\nmethod (createTabGroup) passed to UIModule at app.js (line 1)\r\n[DEBUG] application booted in 275.932014\r\nms
\r\nThis issue has just started and i'm struggling to move past it,\r\ni've done the following and it's still causing the issue:
\r\nI've attached my app.js which seems to be in order, i also\r\ncreated a new project and replaced the app.js in that project and\r\nit seemed to run ok, but i cannot find any reason why my app.js\r\nwouldn't run...
\r\nplease help, i've spent 2 whole days trying things now!!!!!
I'm experiencing this issue too, and I can't find a workaround.\nI'm seeing it with both 1.5.1 and 1.4.2 SDKs. Since it seems to\nonly be an issue when compiling for a device, and I'm only seeing\nthis issue for tab groups (a straightforward app.js that loads a\nsingle window works, while the same code but with a tab group\ndoesn't) I found all files within the build directory that seem to\nreference a tab group. There are differences between a simulator\nbuild and a device build, but I'll leave it to you to decide if\nthat's unnatural. Just thought this might be useful!
\nMentions of TabGroup in my simulator build (iOS 4.2, SDK\n1.5.1)
\nClasses/TiTab.h
\nClasses/TiTabGroup.h
\nClasses/TiUIOptionDialogProxy.m
\nClasses/TiUITabGroup.h
\nClasses/TiUITabGroup.m
\nClasses/TiUITabGroupProxy.h
\nClasses/TiUITabGroupProxy.m
\nClasses/TiUITabProxy.h
\nClasses/TiUITabProxy.m
\nClasses/TiUIWindowProxy.m
\nClasses/TiWindowProxy.h
\nClasses/TiWindowProxy.m
\nMyApp.xcodeproj/project.pbxproj
\nbuild/build.log
\nbuild/Debug-iphonesimulator/MyApp.app/MyApp
\nbuild/Debug-iphonesimulator/MyApp.app.dSYM/Contents/Resources/DWARF/MyApp
\nbuild/MyApp.build/Debug-iphonesimulator/MyApp.build/build-state.dat
\nbuild/MyApp.build/Debug-iphonesimulator/MyApp.build/build-state~.dat
\nbuild/MyApp.build/Debug-iphonesimulator/MyApp.build/Objects-normal/i386/MyApp.LinkFileList
\nbuild/MyApp.build/Debug-iphonesimulator/MyApp.build/Objects-normal/i386/TiUIOptionDialogProxy.o
\nbuild/MyApp.build/Debug-iphonesimulator/MyApp.build/Objects-normal/i386/TiUITabController.o
\nbuild/MyApp.build/Debug-iphonesimulator/MyApp.build/Objects-normal/i386/TiUITabGroup.o
\nbuild/MyApp.build/Debug-iphonesimulator/MyApp.build/Objects-normal/i386/TiUITabGroupProxy.o
\nbuild/MyApp.build/Debug-iphonesimulator/MyApp.build/Objects-normal/i386/TiUITabProxy.o
\nbuild/MyApp.build/Debug-iphonesimulator/MyApp.build/Objects-normal/i386/TiUIWindowProxy.o
\nbuild/MyApp.build/Debug-iphonesimulator/MyApp.build/Objects-normal/i386/TiWindowProxy.o
\nbuild/MyApp.build/Debug-iphonesimulator/MyApp.build/MyApp-project-headers.hmap
\nbuild/MyApp.build/Debug-iphonesimulator/MyApp.build/MyApp.dep
\nbuild/MyApp.build/Debug-iphonesimulator/MyApp.build/MyApp.hmap
\nbuild/MyApp.build/Debug-iphonesimulator/MyApp.build/MyApp~.dep
Mentions of TabGroup in my device build (same targets)
\nClasses/TiTab.h
\nClasses/TiTabGroup.h
\nClasses/TiUIOptionDialogProxy.m
\nClasses/TiUITabGroup.h
\nClasses/TiUITabGroup.m
\nClasses/TiUITabGroupProxy.h
\nClasses/TiUITabGroupProxy.m
\nClasses/TiUITabProxy.h
\nClasses/TiUITabProxy.m
\nClasses/TiUIWindowProxy.m
\nClasses/TiWindowProxy.h
\nClasses/TiWindowProxy.m
\nMyApp.xcodeproj/project.pbxproj
\nbuild/build.log
\nbuild/Debug-iphonesimulator/MyApp.app/MyApp
\nbuild/Debug-iphonesimulator/MyApp.app.dSYM/Contents/Resources/DWARF/MyApp
\nbuild/Release-iphoneos/MyApp.app/MyApp
\nbuild/Release-iphoneos/MyApp.app.dSYM/Contents/Resources/DWARF/MyApp
\nbuild/MyApp.build/Debug-iphonesimulator/MyApp.build/build-state.dat
\nbuild/MyApp.build/Debug-iphonesimulator/MyApp.build/build-state~.dat
\nbuild/MyApp.build/Debug-iphonesimulator/MyApp.build/Objects-normal/i386/MyApp.LinkFileList
\nbuild/MyApp.build/Debug-iphonesimulator/MyApp.build/Objects-normal/i386/TiUITabGroup.o
\nbuild/MyApp.build/Debug-iphonesimulator/MyApp.build/Objects-normal/i386/TiUITabGroupProxy.o
\nbuild/MyApp.build/Debug-iphonesimulator/MyApp.build/Objects-normal/i386/TiUIWindowProxy.o
\nbuild/MyApp.build/Debug-iphonesimulator/MyApp.build/Objects-normal/i386/TiWindowProxy.o
\nbuild/MyApp.build/Debug-iphonesimulator/MyApp.build/MyApp-project-headers.hmap
\nbuild/MyApp.build/Debug-iphonesimulator/MyApp.build/MyApp.dep
\nbuild/MyApp.build/Debug-iphonesimulator/MyApp.build/MyApp.hmap
\nbuild/MyApp.build/Debug-iphonesimulator/MyApp.build/MyApp~.dep
\nbuild/MyApp.build/Release-iphoneos/MyApp.build/build-state.dat
\nbuild/MyApp.build/Release-iphoneos/MyApp.build/build-state~.dat
\nbuild/MyApp.build/Release-iphoneos/MyApp.build/Objects-normal/armv6/MyApp
\nbuild/MyApp.build/Release-iphoneos/MyApp.build/Objects-normal/armv6/MyApp.LinkFileList
\nbuild/MyApp.build/Release-iphoneos/MyApp.build/Objects-normal/armv6/TiUITabGroup.o
\nbuild/MyApp.build/Release-iphoneos/MyApp.build/Objects-normal/armv6/TiUITabGroupProxy.o
\nbuild/MyApp.build/Release-iphoneos/MyApp.build/Objects-normal/armv6/TiUIWindowProxy.o
\nbuild/MyApp.build/Release-iphoneos/MyApp.build/Objects-normal/armv6/TiWindowProxy.o
\nbuild/MyApp.build/Release-iphoneos/MyApp.build/Objects-normal/armv7/MyApp
\nbuild/MyApp.build/Release-iphoneos/MyApp.build/Objects-normal/armv7/MyApp.LinkFileList
\nbuild/MyApp.build/Release-iphoneos/MyApp.build/Objects-normal/armv7/TiUITabGroup.o
\nbuild/MyApp.build/Release-iphoneos/MyApp.build/Objects-normal/armv7/TiUITabGroupProxy.o
\nbuild/MyApp.build/Release-iphoneos/MyApp.build/Objects-normal/armv7/TiUIWindowProxy.o
\nbuild/MyApp.build/Release-iphoneos/MyApp.build/Objects-normal/armv7/TiWindowProxy.o
\nbuild/MyApp.build/Release-iphoneos/MyApp.build/MyApp-project-headers.hmap
\nbuild/MyApp.build/Release-iphoneos/MyApp.build/MyApp.dep
\nbuild/MyApp.build/Release-iphoneos/MyApp.build/MyApp.hmap
\nbuild/MyApp.build/Release-iphoneos/MyApp.build/MyApp~.dep
I'd really appreciate a fix or a workaround for this, since it's\npretty much a showstopper for us.
\nCheers,
\nCraig
I've found the issue, but not the cause. The defines.h file is\nmissing includes for all the titanium UI components I'm using in\nthe application. When running the code in the simulator all\ncomponents are included by default, whereas when building for a\ndevice the includes are done dynamically. What's probably happening\nis Titanium isn't picking up on the use of the modules in the code,\nand not including them in the file.
\nAre you using the helium library by any chance? I'm wondering if\nthat, or its advocated practice of loading components in a separate\nscope, is contributing to this issue.
When we debugged this issue and messed around for ages with it,\nwe found it was because we didn't have a tab in place, our app\nwasn't using tabs to begin with and this seemed to cause issues, we\nput some tabs in and everything went back to normal...
Yeah, I think I've the same problem but with a different cause -\nI'm adding tabs to the group but not in the global scope, and it\ndoesn't look like they're being picked up.
This is a limitation of the compiler when you don't explicitly\nuse createTab in your code, but can be worked around.
\nThe bundler tries to only include modules that it needs to in\norder to keep the footprint of your app relatively small (in\nfile-size). In order to do this, the compiler tries to determine\nwhat modules you are using in your project and only includes those\nin the final .app package. It looks for Titanium 'create' functions\n(such as createButton, createLabel, createTabGroup,\ncreateTableView, etc.).
\nIn a normal project where you do something along the lines:
\n\nTi.UI.createTableView(...);\nTi.UI.createTabGroup();\nTi.UI.createTab({...});\nTi.UI.createTab({...});\nTi.UI.createTab({...});
\n
\nBased on the parsing mechanism that it uses, the compiler comes\naway with the following unique modules:
\nHowever, the class files for all the tab class files checks for\njust TAB (not TABGROUP)... as seen here from\nTiUITabGroupProxy.h:
\n\n#ifdef USE_TI_UITAB\n#endif
\n
\n...so unless you explicitly call TI.UI.createTab(...) in your\ncode somewhere, you will run into this issue.
\nAn easy solution would be to put:
\n\nTi.UI.createTabGroup;
\n
\nSomewhere in your app.js file.
\nThe permanent fix would be to change the compiler to merge TAB\nand TABGROUP into one, or change the header files to respect either\nconstant (USE_TI_UITAB || USE_TI_UITABGROUP).
\n-JRo.
I have the same problem. After building a hw build my defines.h\nbecomes like this:
\n// Warning: this is generated file. Do not modify!
\nI'm using Titanium 1.6.1, XCode 4 for the iPhone
even more info:
\nIt seems that I was able to fix this by taking my code out of\nthe /Resources/iphone directory into the /Resources directory.
\nI'm guessing this is regression for 1.6.1 ?