2009-07-11 42 views
6

Câu hỏi đơn giản. Có bất kỳ công cụ nào để tạo các dự án Xcode từ dòng lệnh không? Chúng tôi sử dụng SCons để xây dựng ứng dụng đa nền tảng của chúng tôi, nhưng điều đó không hỗ trợ việc tạo dự án Xcode nội tại. Chúng tôi muốn tránh tạo dự án theo cách thủ công, vì điều này sẽ liên quan đến việc duy trì nhiều danh sách tệp.Có thể tự động tạo các dự án Xcode không?

Trả lời

1

Tôi nghĩ rằng câu hỏi của bạn nên là "Có cách nào để tạo dự án XCode từ một SCons không?". Tôi cho rằng, bằng cách yêu cầu của bạn và bằng cách đọc những người khác, rằng câu trả lời là 'không'.

SCons people nên biết điều đó tốt hơn. Tôi nghĩ rằng họ sẽ hạnh phúc nếu bạn đóng góp một máy phát điện dự án Xcode SCON.

Trong thời gian chờ đợi, bạn có thể chọn chuyển sang CMake hoặc tạo dự án XCode của mình bằng tay, với tổ chức cây nguồn tốt, có thể là giải pháp thực dụng tốt nhất.

4

Nhìn vào CMake. Bạn có thể tự động tạo các dự án XCode từ nó. Tôi đã tìm thấy câu hỏi StackOverflow trước đây về việc sử dụng nó here. Để có được nó để tạo ra một dự án XCode, bạn sử dụng nó như vậy:

CMake -G xcode 
+0

Vâng, chúng tôi đang cố gắng để tránh việc chuyển đổi dự án để CMake ... Tôi đoán chúng tôi có thể tạo ra một tập tin CMakeLists.txt từ SCons, hoặc có thể không;) –

-1

Bạn có thể sử dụng Automator để tạo chúng cho bạn.

Tôi đã kiểm tra và không có hành động dựng sẵn. Vì vậy, bạn sẽ phải ghi lại hành động của mình với Automator để thực hiện việc này.

+0

Chỉ cần kiểm tra Automator, tôi không chắc chắn những gì tôi đang tìm kiếm vì nó sử dụng GUI để thực hiện các hoạt động. Tôi đã suy nghĩ giống như một cách tiếp cận dựa trên lệnh ...Dù sao cũng cảm ơn bạn. –

1

qmake trong chuỗi công cụ Qt tạo các dự án Xcode. Bạn có thể ít nhất tải về nó và hãy xem nguồn của nó here (LGPL).

1

Vì lợi ích của bất kỳ ai đáp xuống câu hỏi này, tôi thực sự chỉ cần đẩy an Xcode project file generator for SCons lên tới Bitbucket.

+0

+1 - Thú vị. Bất kỳ cơ hội này có thể được thực hiện tương thích với Homebrew? Cũng sẽ được tốt đẹp nếu nó có thể tùy chọn bắt đầu với các tập tin .swift. –

+0

@TommieC. Máy phát không quan tâm đến nội dung tập tin nguồn nào cả (vì vậy các nguồn Swift sẽ là Just Work ™). Máy phát cố ý xây dựng các mục tiêu hệ thống xây dựng bên ngoài chạy SCons, do đó, việc xây dựng sẽ không đi chệch khỏi những gì được chỉ định trong tệp SConstruct. Tôi không nghĩ rằng SCons tự hỗ trợ Swift ra khỏi hộp, mặc dù bạn có thể viết một người xây dựng cho nó một cách dễ dàng đủ nếu bạn có thẩm quyền trong Python. Về phần hỗ trợ của Homebrew, tôi không biết bạn muốn gì; tất cả những gì bạn cần để cài đặt máy phát điện là sao chép một tập tin - tôi không thể thấy cách pha chế giúp. – alastair

+0

Cảm ơn những người đứng đầu về điều này ~ Tôi là một coder agnostic, vì vậy tôi sẽ xem xét các tùy chọn Python. Một gói sản phẩm bia sẽ làm cho mã "được quản lý" và cập nhật trong suốt, đồng thời có khả năng tăng phạm vi của cơ sở người dùng. –

0

Bạn có thể tạo dự án XCode bằng cách sử dụng hệ thống xây dựng dựa trên python được gọi là waf. Bạn cần phải download and install waf với phần mở rộng xcode6:

$ curl -o waf-1.9.7.tar.bz2 https://waf.io/waf-1.9.7.tar.bz2 
$ tar xjvf waf-1.9.7.tar.bz2 
$ cd waf-1.9.7 
$ ./waf-light --tools=xcode6 

Điều đó sẽ tạo ra một waf thực thi mà có thể xây dựng dự án của bạn. Bạn cần cấu hình cách tạo dự án XCode của mình bên trong một tệp có tên là wscript nên nằm trong thư mục dự án của bạn. Tệp wscript sử dụng cú pháp Python. Dưới đây là an example về cách bạn có thể cấu hình dự án của bạn:

def configure(conf): 

    # Use environment variables to set default project configuration 
    # settings 
    conf.env.FRAMEWORK_VERSION = '1.0' 
    conf.env.ARCHS = 'x86_64' 

    # This must be called at the end of configure() 
    conf.load('xcode6') 

# This will build a XCode project with one target with type 'framework' 
def build(bld): 
    bld.load('xcode6') 
    bld.framework(
     includes='include', 

     # Specify source files. 
     # This will become the groups (folders) inside XCode. 
     # Pass a dictionary to group by name. Use a list to add everything in one 
     source_files={ 
      'MyLibSource': bld.path.ant_glob('src/MyLib/*.cpp|*.m|*.mm'), 
      'Include': bld.path.ant_glob(incl=['include/MyLib/*.h', 'include'], dir=True) 
     }, 

     # export_headers will put the files in the 
     # 'Header Build Phase' in Xcode - i.e tell XCode to ship them with your .framework 
     export_headers=bld.path.ant_glob(incl=['include/MyLib/*.h', 'include/MyLib/SupportLib'], dir=True), 
     target='MyLib', 
     install='~/Library/Frameworks' 
    ) 

Có một loạt các cài đặt bạn có thể sử dụng để cấu hình nó cho dự án của bạn.

Sau đó, để thực sự tạo ra các dự án XCode, cd vào thư mục dự án của bạn nơi wscript là và chạy waf thực thi của bạn như

$ ./waf configure xcode6 
+0

Nhưng khi tôi chạy ./waf build Tôi gặp lỗi trong python - AttributeError: đối tượng 'BuildContext' không có thuộc tính 'framework' – Mark

+0

thử viết "./waf xcode6" thay vì "build". Và hãy nhớ để chạy cấu hình đầu tiên, tức là "./waf configure". @Dấu. Hy vọng nó giúp! – mrmclovin

Các vấn đề liên quan