Search code examples
titaniumdesktoptidesdk

Building desktop application with tidesdk for other platform


I'm having problems when I try to build a Tidesdk Desktop Project for other platforms. I use linux, and building for linux works perfect.

I do it like this:

./tibuild.py -d /home/rooter/theapp/ -p --type=bundle /home/rooter/Titanium_Studio_Workspace/TestApp/

It all works fine, but the problem comes when I try to build for win32

./tibuild.py --os=win32 -d /home/rooter/theapp/ -p --type=bundle /home/rooter/Titanium_Studio_Workspace/TestApp/

I get this error:

Traceback (most recent call last):
  File "./tibuild.py", line 118, in <module>
    environment = env.PackagingEnvironment(options.platform, packager, options.appstore)
  File "/home/rooter/.titanium/sdk/linux/1.3.0-beta/env.py", line 32, in __init__
    self.init_normal_dirs(script_dir)
  File "/home/rooter/.titanium/sdk/linux/1.3.0-beta/env.py", line 52, in init_normal_dirs
    p.join(os.environ['APPDATA'], 'Titanium'),
  File "/usr/lib/python2.7/UserDict.py", line 23, in __getitem__
    raise KeyError(key)
KeyError: 'APPDATA'

And if I try to build for osx I get some diferent errors. Is it even posible to build for win32 from linux?

Thanks.


Solution

  • For TideSDK, you can build for multiple platforms. That said, you must build each distribution on each platform. For example, you must have the SDK installed on Mac OSX to build an OSX distribution, etc.

    Appcelerator once provided a cloud-based service that could help you build and package for all platforms (besides the one you are developing on). The TideSDK team is contemplating possibilities to replace this service. There are a couple of options at present. An option may come into the Tide Builder app that is currently under development.

    In the interim, as part of your development setup, you will need access to machines or virtual machines to build each distribution on each OS and architecture you wish to support with your app.

    Btw, I see in the traceback you are attempting to use the beta. At this time we have not yet released and there are both branches left to be merged and code that has not yet in the repository. We recommend starting your development on 1.2.0.RC4 while the beta is reaching a release. We will announce the beta release when it is ready on our mailing list and on twitter.