Hello,
I have just updated to SDK 2.1.2, using the latest Titanium Studio (2.1.2.201208301612). After running fine on the simulator, I deployed to my iPad, but I could not instantiate my 2nd window.
Then when I run again on my simulator, I get the following error while the 2nd window is being created:
{src} var olt = Ti.UI.create3DMatrix(); {/src}
[WARN] Attempted to load TiUI3DMatrixProxy: Could not find class definition. [ERROR] Exception in event callback: { line = 91; message = "invalid method (create3DMatrix) passed to UIModule"; sourceId = 257901152; }
If I do a clean build / delete the build directory (what others have had success with), the problem goes away. Then every time I deploy to my iPad, it happens again. As it is, I cannot get the application to work at all on the iPad.
Could this be a problem with the new Studio, since it is now happening with 2.1.1 and 2.1.2 SDK?
Thanks, Vernon
1 Answer
I have found the problem; it may also have affected the previous versions. I was testing a window class to be used for both iPad and Android tablet configurations. The file exists in the filesystem as .../ui/tablet/android/SplitWindow.js, and is require()'d for both configurations in my top-level controller class.
It appears that for the iPad simulator build, the file is included and properly referenced. But the iPad app build ignores the js files because it is considered an 'android' subdirectory (the file and symbols do not appear in the build log), and stops processing at the require(). The problem does not go away until the next clean simulator build.
After moving the file up a subdirectory, everything works as expected.
Just another gotcha with this versatile but fickle platform.
Your Answer
Think you can help? Login to answer this question!