2012-06-08 36 views
54

Tôi đang thực hiện dòng lệnh xcodebuild bằng cách sử dụng tập lệnh shell. Vấn đề của tôi là nếu tôi mở và đóng các tập tin xx.xcodeproj một lần và sau đó sử dụng lệnh đó nó hoạt động tốt.Tệp project.xcworkspace có quan trọng không?

Bằng cách nào đó nếu tôi đi sâu vào thay đổi tệp, project.xcworkspace là tệp duy nhất đã thay đổi. Tệp này có hợp lệ không và tôi có nên kiểm tra nó trong điều khiển phiên bản không? Điều này có gây ra bất kỳ sự cố nào không?

Tôi đã nghe nói rằng nó quan trọng như .pbxproj: điều này có đúng không?

Tôi không thể tìm thấy bất kỳ tài liệu hợp lệ nào nói về vai trò và trách nhiệm của các tệp khác nhau trong tệp dự án xcode. Vui lòng cung cấp các liên kết giúp tôi hiểu điều đó.

Trả lời

89

project.xcworkspace là một thư mục chứa các tệp mô tả không gian làm việc hoặc dự án. Mặc dù một số câu trả lời ở đây cho thấy nó là không cần thiết và cần được bỏ qua để kiểm soát nguồn, tôi không đồng ý, nhưng nó sẽ phụ thuộc nhiều vào cách bạn sử dụng môi trường của mình. Nói chung, nội dung của thư mục project.xcworkspace chứa tệp contents.xcworkspacedata, liệt kê các dự án được bao gồm dưới dạng thực thể cấp cao nhất trong dự án của bạn, một thư mục xcuserdata, chứa các cài đặt của mỗi người dùng (nên bỏ qua cho mã nguồn controL) và xcshareddata , là dữ liệu được chia sẻ bởi những người dùng chia sẻ dự án và phải nằm dưới sự kiểm soát nguồn. Trong các môi trường mà bạn không chia sẻ không gian làm việc, hoặc nơi bạn sử dụng không gian làm việc đơn giản, bạn có thể bỏ qua chúng, tuy nhiên trong môi trường bạn đặt các dự án liên quan trong cùng một không gian làm việc và chia sẻ cấu hình đó, bạn cũng có thể muốn giữ mấy cái này.

+6

Tệp project.xcworkspace được tạo nếu bạn sử dụng Cocoa Pods (pod install). Nó tạo ra một vùng làm việc nhóm và bạn sẽ cần phải mở tệp project.xcworkspace thay vì tệp dự án di chuyển về phía trước nếu bạn muốn những gì bạn vừa cài đặt qua Pod. – LevinsonTechnologies

+6

@LevinsonTechnologies OP đề cập đến một thư mục con _within_ thư mục cấp cao nhất của dự án 'Foobar.xcodeproj'. Thư mục con đó là _literally_ có tên là 'project.xcworkspace'. Điều mà CocoaPods tạo ra và bạn đang đề cập đến là một thư mục _top-level_ khác có tên 'Foobar.xcworkspace' tồn tại trên cùng cấp với' Foobar.xcodeproj'. Đừng nhầm lẫn hai điều! Đoán của tôi là Xcode luôn luôn cần một không gian làm việc và thư mục con là một loại không gian làm việc "ẩn" mà Xcode tạo và duy trì phía sau hậu trường cho bạn miễn là bạn chỉ làm việc với tệp .xcodeproj. – herzbube

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