0
votes

I'm using the latest tooling (as below) to build my project with the command

appc ti build -p ios -T device -D development --liveview

All generally works as expected until I quit the liveview session and attempt to build with the same command again.

Failed Output:

[INFO]  App thinning disabled, skipping asset image sets
[INFO]  Processing JavaScript files
An uncaught exception was thrown!
ENOTDIR: not a directory, open '/Users/gb/Documents/Work/Project/workspaces/appcelerator/Project/build/iphone/build/Products/Debug-iphoneos/Project.app/project/controller.js'
ENOTDIR: not a directory, open '/Users/gb/Documents/Work/Project/workspaces/appcelerator/Project/build/iphone/build/Products/Debug-iphoneos/Project.app/project/controller.js'

If I then attempt to build again I get this output...

[INFO]  Processing JavaScript files
[INFO]  Writing app properties
[INFO]  Writing i18n files
[INFO]  Processing Titanium symbols
[INFO]  Removing files
[INFO]  Optimizing .plist and .png files
[INFO]  Invoking xcodebuild
[ERROR] ** BUILD FAILED **
[ERROR] The following build commands failed:
[ERROR]         GenerateDSYMFile build/Products/Debug-iphoneos/Project.app.dSYM build/Products/Debug-iphoneos/Project.app/Project
[ERROR] (1 failure)

This output will be the same on each subsequent attempt to build

By chance, I found that if I reboot my machine I can build again, so I attempted all sorts of workarounds (cleaning build folders, derived data in xcode, restarting appc studio, building in studio....) to no avail, but eventually found a best case undesirable workaround to this issue in the form of:

appc logout
appc login 

If I then attempt to build again it will succeed!

I can only assume therefore that the build issue has something to do with perhaps cached files associated with my dev cert as I understand this is regenerated on each login logout... Appc folks - any ideas?

The tooling seems to have become terribly unreliable over the last number of releases and needs some attention from the folks at Appcelerator IMO. Liveview is meant to speedup development time and it's great when it works (still probably lagging behind the awesome TiShadow of old), however in this instance it is breaking the build process and sucking up endless hours with indeterminate build behaviour. Am I doing something wrong???

Has anyone else discovered a better workaround or is this a known issue?

For reference, if I've built as above for development and then try to build for a "test" deployment with the command

appc ti build -p ios -T device -D test --liveview

I get the error (even after logging in and out and cleaning the project with appc ti clean)

[INFO] :   Invoking xcodebuild
[ERROR] :  ** BUILD FAILED **
[ERROR] :  The following build commands failed:
[ERROR] :   CompileC build/Intermediates/Project.build/Debug-iphoneos/Project.build/Objects-normal/armv7/TiUIiOSProxy.o Classes/TiUIiOSProxy.m normal armv7 objective-c com.apple.compilers.llvm.clang.1_0.compiler
[ERROR] :  (1 failure)

This cannot be fixed until I do a reboot AFAICT!!!

Then, finally, the test deployment builds as expected and can usually be repeated (unlike development deployments).

All help greatly appreciated :)

Environment:

Operating System
  Name                        = Mac OS X
  Version                     = 10.11.6
  Architecture                = 64bit
  # CPUs                      = 8
  Memory                      = 8.0GB

Node.js
  Node.js Version             = 4.2.6
  npm Version                 = 2.14.12

Appcelerator CLI
  Installer                   = 4.2.7
  Core Package                = 5.4.0

Titanium CLI
  CLI Version                 = 5.0.9
  node-appc Version           = 0.2.31

Titanium SDKs
  5.4.0.GA
    Version                   = 5.4.0
    Install Location          = /Users/gb/Library/Application Support/Titanium/mobilesdk/osx/5.4.0.GA
    Platforms                 = android, mobileweb, iphone
    git Hash                  = 4ba4c0a
    git Timestamp             = 08/10/16 05:43
    node-appc Version         = 0.2.35

...

Xcode
  7.3.1 (build 7D1014) - Xcode default
    Install Location          = /Applications/Xcode.app/Contents/Developer/
    iOS SDKs                  = 9.3
    iOS Simulators            = 9.3
    Watch SDKs                = 2.2
    Watch Simulators          = 2.2
    Supported by TiSDK 5.4.0.GA = yes
    EULA Accepted             = yes
    Teams                     = ********* (active)
1

1 Answers

0
votes

Try this process:

  1. Copy your entire project at some different location other than the current Studio workspace.
  2. Now, after copying your project to some other folder, delete the project folder from workspace.
  3. Create a new project with same name and same app id.
  4. Note down the guid tag value from new tiapp.xml file.
  5. Replace the content of new project with the original copied project.
  6. Now finally replace the new guid with the original guid which you noted down in Step 4.
  7. Run your project without LiveView mode.