5

mam 2013 Retina MacBook Pro i jestem zaskoczony przez prędkość XCode kompilacji. Mogę zbudować i uruchomić dość dużą aplikację Objective-C w symulatorze w około 2-3 sekundy.Dlaczego proces budowania Titanium jest tak wolny?

Przy budowie i prowadzeniu mniejszą Titanium aplikacji dla iPhone, trwa około 15 sekund Zastanawiam się dlaczego. W konsoli proces kompilacji jest bardzo szybki, ale aplikacja zawiesza się na około 10 sekund na „Wywoływanie 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 

Czy mogę coś zrobić, żeby to szybciej?

Odpowiedz

4

Dostałem wskazówkę, że doprowadzi do rozwiązania problemu na moim Appcelerator QA Question

Przyczyną pełnej kompilacji za każdym razem był zasugerował przez tę linię w dziennikach:

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

mam niestandardową Info.plist w moim projekcie, który jest kopiowany do projektu XCode za każdym razem. Zmieniłem właściwość tiapp.xml<id> być identyczna CFBundleIdentifier i kompilacja przechodzi teraz w mniej niż 4 sekundy.

2

Właściwie w Objective-C można bezpośrednio można uruchomić aplikację, która zabierze Cię 2-3 sekund, ale w pierwszej

tytanu JavaScript jest konwertowany do Objective-C, a następnie ten objective-c do natywnej aplikacji tak, że trwa trochę czasu ... ale po skompilowaniu aplikacji. nie zajmie dużo czasu dla drugiego biegu i tak on.since raz zbudowany został stworzony .To właśnie robi małe zmiany w zbudowany i prowadzony ..except po raz pierwszy zajmuje mniej czasu na inne run..but kilka razy może podjąć podczas . . nie możemy oszacować czas

+1

wiem, że - JS-> ObjC czas budowy był prawie natychmiastowy, ale „Wywoływanie xcodebuild” krokiem w procesie trwało zbyt długo. Sprawdź moją odpowiedź na rozwiązanie. – nanoman

+1

afaik, kod JS nie zostanie przekonwertowany na obiekt C. co tytan zrobił tylko "uruchom kod js" na różnych platformach. –