5

Ich habe ein Retina MacBook Pro 2013 und bin erstaunt über die XCode Buildgeschwindigkeit. Ich kann eine ziemlich große Objective-C-App im Simulator in ungefähr 2-3 Sekunden bauen und laufen lassen.Warum ist der Titanium-Build-Prozess so langsam?

Beim Erstellen und Ausführen einer kleineren Titanium App für iPhone dauert es etwa 15 Sekunden und ich frage mich warum. In der Konsole ist der Build-Prozess sehr schnell, aber die App hängt für etwa 10 Sekunden auf „Aufrufe xcodebuild“

$ 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 

Gibt es etwas, was ich tun kann dies schneller zu machen?

Antwort

4

ich den Hinweis bekam, die auf meinem zur Lösung des Problems führen Appcelerator QA Question

Die Ursache für den vollständigen Build jedes Mal von dieser Linie in den Protokollen angedeutet wurde:

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

Ich habe eine benutzerdefinierte Info.plist in meinem Projekt, die jedes Mal in das XCode-Projekt kopiert wird. Ich habe die tiapp.xml<id> Eigenschaft geändert, die mit CFBundleIdentifier identisch ist und der Aufbau geht jetzt in weniger als 4 Sekunden durch.

2

Eigentlich in Objective-c Sie können direkt auf die App laufen, die Sie 2-3 Sekunden dauert, aber in

Titan ersten Javascript Objective-C umgewandelt wird und dann diese Objective-C auf die native App so dauert es eine kleine Weile ... aber sobald du die App kompiliert hast. es wird nicht viel Zeit für den zweiten Lauf und so weiter brauchen. Da einmal gebaut wurde erstellt. Es macht nur kleine Änderungen in gebaut und laufen .. außer zum ersten Mal dauert es weniger Zeit für andere laufen..aber manchmal kann es dauern während. . wir können die Zeit nicht abschätzen

+1

Ich weiß, dass - die JS-> ObjC Build-Zeit war fast sofort, aber der "Aufruf von xcodebuild" Schritt in dem Prozess dauerte zu lange. Überprüfen Sie meine Antwort für die Lösung. – nanoman

+1

afaik, JS-Code wird nicht in Objekt C umgewandelt. Was Titan getan hat, ist einfach "js-Code ausführen" auf verschiedenen Plattformen. –