Có một số lý do khiến bạn gặp phải lỗi này, nhưng nó lại rơi xuống phụ thuộc. Nếu bạn chọn một lược đồ xây dựng một mục tiêu iOS, thì bạn không gặp vấn đề gì khi sử dụng lệnh sau đây. Lưu ý rằng tôi đã sử dụng iphoneos
để tự động chọn SDK mới nhất.
xcodebuild -configuration Release -target "ios" -sdk iphoneos -scheme "ios" build
Sự cố bạn đang gặp phải được kích hoạt do phụ thuộc vào tiện ích watchOS. Tôi đã tạo một dự án mẫu và thêm một ứng dụng watchOS. Trong tab giai đoạn xây dựng, bạn thấy trong mục Phụ thuộc mà mục tiêu iOS có phụ thuộc vào mục tiêu WatchOS.
Đây không phải là một vấn đề nếu bạn chỉ định một destination
trong xây dựng lệnh của bạn. Nhưng nó sẽ gây ra vấn đề nếu bạn yêu cầu xcodebuild
xây dựng với một SDK cụ thể. Tại sao? Vì mục tiêu WatchOS không thể được xây dựng với SDK iOS. Nếu bạn chỉ định iphoneos
làm SDK, bản dựng sẽ không thành công.
Chỉ định đích sẽ giải quyết vấn đề, nhưng biết rằng bạn đang sử dụng trình mô phỏng cụ thể. Nếu bạn sử dụng cùng một lệnh trên một máy khác và trình mô phỏng đó không khả dụng, thì quá trình xây dựng sẽ không thành công.
Thành thật mà nói, tôi không biết liệu có một con đường ở giữa cho phép bạn chọn SDK mới nhất và vẫn sử dụng đúng SDK cho từng mục tiêu hay không, bất kể phụ thuộc. Nếu bạn loại bỏ sự phụ thuộc của mục tiêu iOS, thì lệnh xây dựng ở trên sẽ không thành công. Bạn cũng có thể cần cập nhật lược đồ bạn đang sử dụng.
Nguồn
2015-12-11 08:26:18
Xóa đối số -sdk thực hiện thủ thuật cho tôi. Gợi ý tuyệt vời. +1 – DEAD10CC
theo cách đó tôi vẫn gặp sự cố nếu tôi muốn chạy thử nghiệm, cụ thể là tôi nhận được: Đã xảy ra sự cố khi bắt đầu gói thử nghiệm: Thử nghiệm với SDK 'iphoneos' chưa được hỗ trợ. Thay vào đó, hãy thử nghiệm với SDK giả lập bằng cách đặt '-sdk iphonesimulator'. –
@dev_mush, bạn cần cung cấp '-destination' để chạy thử nghiệm. – Nekto