为什么Titanium构建过程如此之慢?

时间:2013-03-11 13:20:02

标签: titanium appcelerator titanium-mobile appcelerator-mobile

我有2013年的Retina MacBook pro,并对XCode的构建速度感到惊讶。我可以在大约2-3秒内在模拟器中构建并运行一个相当大的Objective-C应用程序。

在为iPhone制作和运行较小的Titanium App时,我想知道为什么需要大约15秒。在控制台中,构建过程非常快,但应用程序在“调用xcodebuild”上挂起大约10秒

$ titanium build -p ios
Titanium Command-Line Interface, CLI version 3.0.24, Titanium SDK version 3.0.2.v20130206164716
Copyright (c) 2012-2013, Appcelerator, Inc.  All Rights Reserved.

Please report bugs to http://jira.appcelerator.org/

[INFO]  Build type: development
[INFO]  Building for target: simulator
[INFO]  Building using iOS SDK: 6.1
[INFO]  Building for iOS iPhone Simulator: 6.1
[INFO]  Building for device family: iphone
[INFO]  Minimum iOS version: 4.3
[INFO]  Debugging disabled
[INFO]  Initiating prepare phase
[INFO]  Copying custom Info.plist from project directory
[INFO]  Forcing rebuild: custom Info.plist CFBundleIdentifier not equal to tiapp.xml <id>
[INFO]  No Titanium Modules required, continuing
[INFO]  Cleaning old build directory
[INFO]  Performing full rebuild
[INFO]  Copying Xcode iOS files
[INFO]  Creating Xcode project directory: .../build/iphone/MyProject.xcodeproj
[INFO]  Writing Xcode project data file: Titanium.xcodeproj/project.pbxproj
[INFO]  Writing Xcode project configuration: project.xcconfig
[INFO]  Writing Xcode module configuration: module.xcconfig
[INFO]  Creating symlinks for simulator build
[INFO]  Forcing rebuild: ApplicationDefaults.m has changed since last build
[INFO]  Writing properties to ApplicationDefaults.m
[INFO]  No module resources to copy
[INFO]  No CommonJS modules to copy
[INFO]  Invoking xcodebuild

我能做些什么来加快速度吗?

2 个答案:

答案 0 :(得分:4)

我得到的提示导致我Appcelerator QA Question

上的问题得到解决

每次完整构建的原因都在日志中的这一行暗示:

Forcing rebuild: custom Info.plist CFBundleIdentifier not equal to tiapp.xml <id>

我的项目中有一个自定义Info.plist,每次都复制到XCode项目。我已将tiapp.xml <id>属性更改为CFBundleIdentifier,并且构建在不到4秒的时间内完成。

答案 1 :(得分:2)

实际上在objective-c中您可以直接运行应用程序,这需要2-3秒,但在

钛首先将javascript转换为objective-c,然后将此objective-c转换为本机应用程序,这样需要一段时间..但是一旦你编译了应用程序。它不会花费太多时间进行第二次运行等等。因为一旦构建完成。它只是在构建和运行中做了一点改变。除了第一次它需要更少的时间进行其他运行..但有时可能需要而。 。我们无法估计时间