5

Tôi có một MacBook Retina 2013 chuyên nghiệp và tôi ngạc nhiên bởi tốc độ xây dựng XCode. Tôi có thể xây dựng và chạy một ứng dụng Objective-C khá lớn trong trình mô phỏng trong khoảng 2-3 giây.Tại sao quá trình xây dựng Titanium lại quá chậm?

Khi xây dựng và chạy Ứng dụng Titanium nhỏ hơn cho iPhone, phải mất khoảng 15 giây, tôi tự hỏi tại sao. Trong giao diện điều khiển, quá trình xây dựng là rất nhanh, nhưng các ứng dụng bị treo trong khoảng 10 giây trên "Gọi 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 

Có bất cứ điều gì tôi có thể làm gì để thực hiện điều này nhanh hơn?

Trả lời

4

tôi đã gợi ý dẫn đến việc giải quyết vấn đề trên của tôi Appcelerator QA Question

Nguyên nhân của toàn bộ xây dựng mỗi lần được gợi ý bởi dòng này trong các bản ghi:

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

Tôi có Info.plist tùy chỉnh trong dự án của mình được sao chép vào dự án XCode mỗi lần. Tôi đã thay đổi thuộc tính tiapp.xml<id> giống hệt với CFBundleIdentifier và quá trình xây dựng trải qua trong vòng chưa đầy 4 giây.

2

Trên thực tế trong Objective-C Bạn có thể trực tiếp chạy các ứng dụng sẽ đưa bạn 2-3 giây nhưng trong

titan đầu tiên javascript được chuyển đổi sang mục tiêu-c và sau đó này Objective-C để ứng dụng có nguồn gốc nên phải mất một chút .. nhưng một khi bạn đã biên dịch ứng dụng. nó sẽ không mất nhiều thời gian cho chạy thứ hai và do đó on.since một khi xây dựng đã được tạo ra. nó chỉ làm cho ít thay đổi trong xây dựng và chạy .. chấp nhận lần đầu tiên phải mất ít thời gian cho chạy khác .. nhưng một số lần nó có thể mất trong khi . . chúng ta không thể ước tính thời gian

+1

Tôi biết rằng - thời gian xây dựng JS-> ObjC là khá nhiều ngay lập tức, nhưng bước "Gọi xcodebuild" trong quá trình mất quá nhiều thời gian. Kiểm tra câu trả lời của tôi cho giải pháp. – nanoman

+1

afaik, mã JS sẽ không được chuyển đổi thành Object C. những gì titan đã làm chỉ là "chạy mã js" trên các nền tảng khác nhau. –