Không thể sử dụng thiết bị chỉ xây dựng để chạy mục tiêu này


85

Tôi gặp lỗi này khi cố gắng kiểm tra một ứng dụng.

Không thể sử dụng thiết bị chỉ xây dựng để chạy mục tiêu này.

Không có thiết bị iOS nào được hỗ trợ. Kết nối thiết bị để chạy ứng dụng của bạn hoặc chọn thiết bị mô phỏng làm điểm đến.


Nếu bạn sử dụng một thiết bị và bạn có tài khoản nhà phát triển apple của mình, vui lòng xóa ứng dụng khỏi thiết bị của bạn, sau đó chạy nó.
BollMose

Câu trả lời:


78

thêm -destination 'platform=iOS Simulator,name=iPhone 6,OS=9.3'vào của bạnxcodebuild


7
Giải thích: Xcode cố gắng xây dựng với Thiết bị iOS chung nhưng thử nghiệm phải được xây dựng tại trình mô phỏng.
Adriana

7
Một lệnh hoàn chỉnh và đang hoạt động:xcodebuild test -project YourProject.xcodeproj -scheme YourProject -destination 'platform=iOS Simulator,name=iPhone 6,OS=9.3'
Jianxin Gao

/ usr / bin / xcodebuild là một tệp nhị phân. Bạn có thể không nên sửa đổi nó.
Per Quested Aronsson

Tại sao bạn muốn sửa đổi nó?
Quver

Bạn không cần phải thêm điều này vào xcodebuild. Tất cả những gì bạn cần là chạy lệnh này với các tham số
Quver

44

Có thể Đề án đã chuyển sang thiết bị Chung. Hãy thử chọn lại thiết bị đã kết nối từ menu Đề án:

Hình ảnh menu


18

Dưới đây là cách của tôi

Chọn dự án -> Chung -> Thông tin Triển khai -> Mục tiêu Triển khai -> chọn phiên bản thấp hơn nhập mô tả hình ảnh ở đây


1
Trường hợp này rất hữu ích khi bạn nhập một dự án với mục tiêu triển khai cao hơn so với mục tiêu triển khai tại địa phương, hạ thấp nó có thể giải quyết vấn đề
Parama Dharmika

7

tôi gặp sự cố mà chỉ có thể chọn "Thiết bị iOS chung". và khi tôi chạy, nó cho biết "Không thể sử dụng thiết bị chỉ xây dựng để chạy mục tiêu này. Không có thiết bị iOS nào được hỗ trợ. Kết nối thiết bị để chạy ứng dụng của bạn hoặc chọn thiết bị mô phỏng làm đích"

và giải pháp của tôi cho vấn đề là chọn Cài đặt bản dựng ---> Triển khai -----> Mục tiêu triển khai iOS ----> chọn phiên bản thấp hơn như 8.0,

và tôi thấy trình mô phỏng đã ra mắt và có thể được chọn.


Bạn đã cài đặt trình mô phỏng với phiên bản hệ điều hành mới hơn chưa? Goto Xcode -> Preferences -> Downloads để xem danh sách các thời gian chạy trình mô phỏng cũ tương thích.
Lepidopteron

7

Bạn cần lấy danh sách các điểm đến hợp lệ. Để thực hiện việc này, hãy chỉ định một cặp khóa-giá trị không chính xác và xcodebuild sẽ loại bỏ các kết hợp hoạt động:

Liệt kê Lệnh Đích

xcodebuild test -destination 'platform=iOS Simulator' -workspace Register.xcworkspace -scheme ThatTestTarget

Ví dụ đầu ra

Available destinations for the "ThatTestTarget" scheme:
    { platform:iOS Simulator, id:145A9B7E-B336-4819-8059-2FFEC408E05E, OS:11.1, name:iPad (5th generation) }
    { platform:iOS Simulator, id:69ABAF6F-ADA3-4E38-AC97-D71001447663, OS:9.3, name:iPad 2 }
    { platform:iOS Simulator, id:550E2F18-406D-4586-84BB-E48F1D704F27, OS:10.3.1, name:iPad Air }
    { platform:iOS Simulator, id:94734F1C-775F-40FA-9015-8196C08805EF, OS:11.1, name:iPad Air }
    { platform:iOS Simulator, id:1DB953DD-CD97-4EC7-8006-BCF01DF3E63F, OS:11.1, name:iPad Air 2 }
    { platform:iOS Simulator, id:DE3072DA-2E31-423D-9D77-220626F8B90A, OS:11.1, name:iPad Pro (9.7-inch) }
    { platform:iOS Simulator, id:3B5D18DB-13B5-4F28-B654-7D2ECDD1F6F0, OS:11.1, name:iPad Pro (10.5-inch) }
    { platform:iOS Simulator, id:A4225E3A-512C-4F42-ADD9-1E7E448C4D27, OS:11.1, name:iPad Pro (12.9-inch) }
    { platform:iOS Simulator, id:684FF1BA-8784-4B7C-B4E5-5231772F0FAC, OS:11.1, name:iPad Pro (12.9-inch) (2nd generation) }

Thay đổi dấu hai chấm cho dấu bằng, xóa dấu cách, bỏ qua ID

Vì vậy, nếu bạn muốn sử dụng điểm đến này:

platform:iOS Simulator, id:684FF1BA-8784-4B7C-B4E5-5231772F0FAC, OS:11.1, name:iPad Pro (12.9-inch) (2nd generation)

Thay đổi dấu hai chấm cho dấu phẩy, xóa dấu cách, xóa ID, vì vậy bạn nhận được chuỗi này:

platform=iOS Simulator,OS=11.1,name=iPad Pro (12.9-inch) (2nd generation)

Sau đó, toàn bộ lệnh sẽ là:

xcodebuild test -destination 'platform=iOS Simulator,OS=11.1,name=iPad Pro (12.9-inch) (2nd generation)' -workspace Register.xcworkspace -scheme ThatTestTarget

4

Bạn đang xây dựng cho "Thiết bị chỉ xây dựng" của Xcode, đang biên dịch ứng dụng. cho bộ xử lý ARM (trong khi biên dịch cho trình mô phỏng nhắm mục tiêu CPU Intel trên máy Mac của bạn.)

Cắm một thiết bị và chọn nó từ cửa sổ bật lên chương trình hoạt động, hoặc chọn một trong các trình mô phỏng và bạn nên sử dụng.


Tôi không gọi mình là một rook vì tôi giỏi công cụ này ... Cảm ơn bạn 2 giờ lãng phí ha ....
yrpalnoob

3

Với XCode 8.3.2, tôi đã gặp thông báo lỗi này sau khi cố gắng chạy ứng dụng trên thiết bị bị khóa. Tôi đã mở khóa và gắn lại theo yêu cầu nhưng "Không thể sử dụng thiết bị chỉ dành cho bản dựng để chạy mục tiêu này." thông báo xuất hiện.

Tôi chỉ đơn giản là thay đổi mục tiêu thành trình mô phỏng và thay đổi nó trở lại - nó giải quyết được vấn đề của tôi.


2

Đối với những gì nó đáng giá, nếu bạn gặp lỗi A build only device cannot be used to run this targetvà xem trong trình điều hướng Sự cố, văn bản này:


Tính toàn vẹn của mục tiêu ProjectName :
Mục tiêu triển khai iOS 'XX.X'
mới hơn SDK 'iOS YY.Y' trong
ProjectName mục tiêu

thì vấn đề là dự án yêu cầu iOS SDK mới hơn phiên bản Xcode của bạn có sẵn. Bạn sẽ thấy vấn đề này, chẳng hạn như các dự án tận dụng các chức năng SDK iOS mới / beta như ARKit.

Giải pháp là tải xuống phiên bản beta mới nhất của Xcode , phiên bản này phải có hỗ trợ cho iOS SDK được phát hành không công khai mà ứng dụng yêu cầu. Nếu bạn có Xcode mới nhất, hãy thử tìm iOS mục tiêu Preferences -> Components -> Simulators.


2

Nếu bạn đang sử dụng cordova / Ionic Đi tới Sản phẩm -> Đích-> Chọn mục tiêu và chạy lại


1

Sửa đổi câu trả lời của @ Quver. Với phiên bản Xcode mới nhất (8.3), các tham số cho lệnh đích phải được đặt trong dấu ngoặc kép. Dấu ngoặc kép không phù hợp với tôi

thêm -destination "platform=iOS Simulator,name=iPhone 7"vào của bạnxcodebuild

Tôi chưa đề cập đến phiên bản hệ điều hành trong lệnh trên vì khi phiên bản iOS mới hơn được phát hành, lệnh này sẽ thông báo lỗi rằng không tìm thấy thiết bị này. Vì vậy, tốt hơn là không cung cấp phiên bản hệ điều hành


0
  1. Tôi đã đăng ký AppleID mới và thêm nó vào "Xcode-> Preferences-> Account" để giải quyết vấn đề này. (Xcode 7.3)
  2. Đồng thời, tôi đã xóa AppleID gốc trong "Xcode-> Preferences-> Account", vì nó không còn là tài khoản trả phí và không thể thêm thiết bị mới.

0

xcodebuild mọi thứ không hoạt động trong trường hợp của tôi.

Đây là những gì tôi đã giải quyết.

Tôi đã xóa tài khoản apple của mình và thiết lập lại (đăng nhập) trên tùy chọn xcode và điều này đã được giải quyết.

ps. trên iPhone 10.1, tôi cần nhấn nút Tin cậy trên Chung> Quản lý thiết bị> thông tin tài khoản> Ứng dụng tin cậy


0

Tôi đã khắc phục sự cố này cho trình giả lập,

Trước tiên hãy kiểm tra danh sách trình giả lập của bạn

Window> Devices and Simulators

sau khi chọn bất kỳ thiết bị nào và nhấp vào kiểm tra Phiên bản hệ điều hành

Nếu bạn chỉ có Apple Watch OS, bạn nên tải xuống Trình mô phỏng iOS mới

và nhấp vào tải xuống thêm thời gian chạy trình mô phỏng ..

chọn Trình mô phỏng iOS chính xác của bạn và tải xuống.


0

Tôi đã khắc phục sự cố này bằng cách đi tới cài đặt dự án và trong phần 'Mục tiêu', tôi phải đặt mục tiêu Kiểm tra cho đúng nhóm.


0

Nếu bạn muốn lấy danh sách các điểm đến có sẵn, hãy gọi xcodebuild và chuyển vào tùy chọn dòng lệnh -showdestinationsvà nó sẽ in ra các tùy chọn hợp lệ để bạn chọn:

xcodebuild -showdestinations -workspace Register.xcworkspace -scheme ThatTestTarget

0

Tôi đã thử hầu hết mọi thứ ở trên, bao gồm cả khởi động lại XCode, không có cách nào trong số chúng hiệu quả với tôi. Tôi đã giải quyết vấn đề này bằng cách khởi động lại máy Mac của mình . Vâng, giải pháp cổ điển.

Lưu ý phụ: Sự cố này xảy ra với XCode của tôi sau khi nó yêu cầu mật khẩu Mac từ tôi, có thể là sau khi nâng cấp tự động.


0

Đối với xcode v11:

Tôi đã gặp sự cố này khi cố gắng tạo Lưu trữ cho dự án của mình. Tôi đang cố nhấp vào "Xây dựng" khi thiết bị được đặt thành "Thiết bị iOS chung", nhưng các bước thích hợp là:

  1. Đặt thiết bị thành "Thiết bị iOS chung"
  2. Đi tới Sản phẩm -> Lưu trữ ( bỏ qua việc nhấn Xây dựng! )

0

Trong trường hợp của tôi, điều này đã xảy ra khi tôi chọn một thiết bị iOS Chung và cố gắng "xây dựng" để xuất bản nó lên AppStore.
Nhưng tôi nên chọn Sản phẩm -> Lưu trữ thay thế


0

Tôi gặp phải thông báo lỗi tương tự. Đây là những gì tôi đã trải nghiệm và đã làm cho đến nay;

Bước 1: Kiểm tra mục tiêu của bạn.

Mục tiêu hiện tại của tôi là IOS 13.2. Từ đây, bạn sẽ không thấy phiên bản nào hiện có trên máy của mình.

nhập mô tả hình ảnh ở đây

Bước 2: Kiểm tra các phiên bản có sẵn trên cục bộ của bạn

  • Nhấp vào Thiết bị iOS Chung

nhập mô tả hình ảnh ở đây

  • Thao tác này sẽ hiển thị menu thả xuống có chứa Trình mô phỏng tải xuống ... lựa chọn
  • Trong trường hợp lựa chọn Trình mô phỏng tải xuống ... không hiển thị, bạn cần giảm mục tiêu của mình xuống. Trong trường hợp của tôi, từ 13.2, tôi đã đặt nó thành 13.0 (Điều này phụ thuộc vào XCode hiện tại của bạn) sau đó lặp lại Bước 2 một lần nữa
  • Từ đây, bây giờ tôi có thể thấy Trình mô phỏng tải xuống ... lựa chọn
  • Chọn nó

nhập mô tả hình ảnh ở đây

  • Bây giờ bạn sẽ thấy những phiên bản có sẵn mà bạn có
  • Từ đây, bạn có thể chọn tải xuống hoặc chỉ sử dụng phiên bản bạn có (Phiên bản được chọn)

nhập mô tả hình ảnh ở đây

Bước 3: Thay đổi mục tiêu IOS của bạn cho phù hợp

  • Bây giờ bạn đã biết những phiên bản có sẵn của trình mô phỏng mà bạn có cục bộ, bây giờ bạn có thể thay đổi mục tiêu IOS.
  • Trong trường hợp của tôi, tôi chọn sử dụng IOS 11 (Chỉ dành cho mẫu này)
  • Sau đó, tôi thay đổi mục tiêu

nhập mô tả hình ảnh ở đây

  • Một lần nữa nhấp vào Thiết bị iOS Chung

nhập mô tả hình ảnh ở đây

  • Từ đây, bây giờ bạn có thể chọn bất kỳ trình mô phỏng nào trong IOS đó

nhập mô tả hình ảnh ở đây

Tôi không phải là một chuyên gia, tôi chỉ muốn chia sẻ kinh nghiệm của mình và tôi hy vọng điều này có thể giúp ích cho ai đó.


-1

Tôi đã có một vấn đề hoàn toàn khác. Đối với một số lý do ứng dụng của tôi " Devices " đã được thiết lập để phổ build như trái ngược với iPhone . Khi tôi chuyển nó sang iPhone, mọi thứ đều hoạt động. Không cần bất kỳ cài đặt bổ sung nào.


-2

Điều này đã làm việc cho tôi.

Bạn đang cố gắng chạy trên một thiết bị khi bạn đã xây dựng nó cho một chương trình khác. Đi đến

Sản phẩm> Sạch sẽ.

Sau đó, xây dựng với thiết bị của bạn được chọn từ các chương trình đang hoạt động.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.