Details
-
Type:
Bug
-
Status: Closed
-
Priority:
High
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: Release 7.5.0
-
Component/s: iOS
-
Story Points:0
-
Sprint:2016 Sprint 17 SDK
Description
Summary:
There is an iOS incremental build issue where if you build for the iOS Simulator first, then an iOS device afterwards, the resulting iOS app bundle will contain both encrypted .js files an unencrypted plain text .js files. Builds for device (ie: deployment type "test" and "production") must encrypt all .js files.
This is not an issue with production/release builds.
This is only an issue with debug builds.
Steps to reproduce:
- On Mac, open a "Finder" window.
- Go to an existing Titanium project directory.
- Delete its "build" directory if it has one.
- Open a "Terminal" window.
- In the terminal, cd to the same project directory.
- Run: appc run -p ios -D development --build-only
- Wait for the build to finish.
- Run: appc run -p ios -D test --build-only
- Wait for the build to finish.
- In "Finder", go to directory: ./build/iphone/build/Products/Debug-iphonesimulator
- Right click on the app bundle file and select "Show Package Contents" from the popup menu.
Result:
The app bundle for the "test" build contains plain text .js files such as "app.js" when it shouldn't. A "test" build must encrypt all .js files.
Notes:
- This is an incremental build issue. The app bundle includes both encrypted .js files and plain text .js files from the previous "development" build.
- I'm not sure if the reverse is true. When doing a "test" build first and then doing a "development" build, the generated ApplicationRouting.m does not contain any assets.