Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-19612] Changes to Classic / Alloy apps are not updated on rebuild

GitHub Issuen/a
TypeBug
PriorityHigh
StatusClosed
ResolutionFixed
Resolution Date2015-10-26T16:16:06.000+0000
Affected Version/sn/a
Fix Version/sRelease 5.1.0, Release 5.0.2
ComponentsiOS, Tooling
Labelsqe-5.1.0
ReporterHarry Bryant
AssigneeChris Barber
Created2015-09-23T22:42:17.000+0000
Updated2015-11-13T00:18:00.000+0000

Description

Description: After creating a new app, Initial build reflects changes successfully. However on making changes and rebuilding the app, it fails to update those edits. Tested both on Alloy & Classic projects. The issue is not apparent when building to a device, it occurs when building on a simulator. Switching build target from device to sim updates the changes. However a second build to sim fails to do update. Cleaning the project and rebuilding the app allows for a successful build to sim. *Update:* When creating a project with appc new and doing “appc run”, changes fail to update on rebuild. However when creating a project with “ti create” and doing “ti build”, changes successfully update on rebuild. Steps to reproduce:

Create a new mobile app project.

Edit content in app.js / index.xml.

Save & build to sim.

Make additional edit to app.js / index.xml.

Save & rebuild to sim.

Result: changes to files made on step 4 will not be reflected on step 5. Expected Result: changes to files should be updated upon second build.

Comments

  1. Chee Kiat Ng 2015-09-24

    I am unable to reproduce on studio.

    Environment

    Appcelerator Studio, build: 5.0.0.201508240838 Xcode 7 appc CLI 5.1.0-1 Ti SDK 5.0.1.v20150922104152

    Steps to attempt to reproduce

    1. create new project -> alloy -> 2 tabbed app 2. change index.xml 3. run on iPhone 6 ios 9 4. change index.xml again 5. run on iPhone 6 ios 9 Changes are shown
  2. Chee Kiat Ng 2015-09-24

    OH but i reproduced using classic!

    Environment

    Appcelerator Studio, build: 5.0.0.201508240838 Xcode 7 appc CLI 5.1.0-1 Ti SDK 5.0.1.v20150922104152

    Steps to attempt to reproduce

    1. create new project -> classic -> Default 2. change app.js (i changed the label text) 3. run on iPhone 6 ios 9 4. change app.js (i changed the label text) 5. run on iPhone 6 ios 9 Changes are NOT shown
  3. Harry Bryant 2015-09-24

    Hey Kiat, for steps 3 & 5, are you running the app on device? or iPhone 6 sim?
  4. Chris Barber 2015-09-24

    [~htbryant] This is simulator only. Any iOS simulator will do. Happens with both Xcode 6.4 + iOS 8 as well as Xcode 7 + iOS 9.
  5. Harry Bryant 2015-09-25

    Update: I am able to reproduce the error building and rebuilding project from Appc CLI, and Titanium CLI, making edits to app.js from textedit rather than from studio. (( This test was done using the same project created originally in Studio ))
  6. Chris Barber 2015-09-29

    Master PR: https://github.com/appcelerator/titanium_mobile/pull/7241 5_0_X PR: https://github.com/appcelerator/titanium_mobile/pull/7242
  7. Chris Barber 2015-09-29

    To test, build with the appc cli or appc studio and repeatedly build for iOS Simulator. Also, test the differential builds with sim (both deploy-type development and test) and device builds. Look for Titanium libraries being copied/skipped. Look for ApplicationRouting.m being generated/skipped. Build again for device or sim (deploy-type=test) without touching any files and see titanium_prep is skipped. Check that defines.h is being properly generated/skipped. Check that resized app icons are not resized for subsequent builds. Check that changing JS files only compiles ApplicationRouting.m for subsequent builds and not every file.
  8. Chee Kiat Ng 2015-09-29

    CR and FT passed.

    Steps to Verify

    1. Create new Classic Default Project in Studio 2. build for simulator 3. look at build_iphone.log in /build 4. In the log, expect to see the following lines
       [INFO]   Copying Titanium libraries
       [DEBUG]  Copying /Users/kiat/Library/Application Support/Titanium/mobilesdk/osx/5.1.0/iphone/libTiCore.a => /Users/kiat/Appcelerator_Studio_Workspace/SGCLI820Alloy2/build/iphone/lib/libTiCore.a
       [DEBUG]  Writing /Users/kiat/Appcelerator_Studio_Workspace/SGCLI820Classic2/build/iphone/Classes/ApplicationRouting.m
       [DEBUG]  Copying /Users/kiat/Library/Application Support/Titanium/mobilesdk/osx/5.1.0/iphone/Classes/defines.h => /Users/kiat/Appcelerator_Studio_Workspace/SGCLI820Classic2/build/iphone/Classes/defines.h
       [DEBUG]  Missing 10 app icons, generating missing icons
       [DEBUG]  Found DefaultIcon.png (1024x1024)
       [TRACE]  Resizing images: java -jar "/Users/kiat/Library/Application Support/Titanium/mobilesdk/osx/5.1.0/node_modules/node-appc/tools/resizer/resizer.jar" 
       
    5. Build again (don't make any changes) 6. In the log, expect to see the following lines
       [INFO]   Copying Titanium libraries
       [TRACE]  No change, skipping /Users/kiat/Appcelerator_Studio_Workspace/SGCLI820Classic2/build/iphone/lib/libTiCore.a
       [TRACE]  No change, skipping /Users/kiat/Appcelerator_Studio_Workspace/SGCLI820Classic2/build/iphone/lib/libtiverify.a
       [TRACE]  No change, skipping /Users/kiat/Appcelerator_Studio_Workspace/SGCLI820Classic2/build/iphone/Classes/ApplicationRouting.m
       [TRACE]  No change, skipping /Users/kiat/Appcelerator_Studio_Workspace/SGCLI820Classic2/build/iphone/Classes/defines.h
       [INFO]   Creating app icon set
       [TRACE]  Found generated 29x29 app icon: /Users/kiat/Appcelerator_Studio_Workspace/SGCLI820Classic2/build/iphone/Assets.xcassets/AppIcon.appiconset/appicon-Small.png
       
    7. Make a change to app.js 8. Expect to see 6. again 9. Also see that the change is reflected in app.js Repeat steps 1 to 9 with device builds, and alloy, the behavior should be the same. In the alloy instance, make changes to app/views/index.xml in step 7.
  9. Chee Kiat Ng 2015-09-29

    PRs merged.
  10. Harry Bryant 2015-09-30

  11. Ingo Muschenetz 2015-10-26

    Reopened to add customer name

JSON Source