ứng dụng thực thi thiếu một nhánh kiến ​​trúc bắt buộcv6


81

Tôi đang sử dụng xCode 4.2 và cố gắng triển khai ứng dụng của mình. Tôi không xác thực được với thông báo lỗi sau:

application executable is missing a required architecture armv6

Giá trị cho Kiến trúc của tôi được đặt thành Tiêu chuẩn (armv7). Đây là tùy chọn DUY NHẤT trong danh sách thả xuống. SDK cơ sở: iOS 5.0 (Đây là tùy chọn duy nhất) SDK triển khai: 3.2 Chỉ xây dựng kiến ​​trúc hoạt động: KHÔNG có kiến ​​trúc hợp lệ: armv6 armv7 armv7f armv7k

Có ai xin vui lòng biết giải pháp cho vấn đề này?



Trên thực tế, câu hỏi trùng lặp có một giải pháp khác là hoàn nguyên về phiên bản cũ của xCode. Tôi đã tự hỏi nếu có một số cách để giải quyết vấn đề này cho phiên bản hiện tại.
azamsharp

Lần lượt ra giải pháp duy nhất là để gỡ bỏ cài đặt Xcode 4.2 và cài đặt Xcode 4.1
azamsharp

1
Vì iOS 5.0 và Xcode 4.2 là phần mềm beta nên chúng vẫn phải tuân theo NDA. Tốt nhất bạn nên thảo luận về chúng tại Diễn đàn nhà phát triển của Apple: devforums.apple.com . Nếu bạn gặp lỗi với các công cụ, hãy nhớ gửi báo cáo tại bugreport.apple.com .
Brad Larson

Câu trả lời:


83

Trong Xcode 4.2 GM, đây vẫn là một vấn đề nhưng bạn có thể giải quyết bằng cách làm như sau.

  1. Chuyển sang chế độ xem tệp / thư mục trong dự án xcode

  2. Chọn Dự án của bạn (biểu tượng màu xanh lam)

  3. Chọn Ứng dụng của bạn trong Mục tiêu ở giữa màn hình.

  4. Chuyển đến cài đặt xây dựng

  5. Tìm kiến ​​trúc> Phân phối

  6. Mở rộng phần này để bạn có thể xem cả Gỡ lỗi và Phát hành

  7. Thay đổi "Chuẩn (armv7) - $ (ARCH_STANDARD_32_BIT)" thành "Khác ..."

  8. Thay thế "Standard (armv7) - $ (ARCH_STANDARD_32_BIT)" bằng "armv6", sau đó thêm một mục mới "armv7"

Hãy nhớ rằng bạn có thể cần phải làm điều này cho tất cả các dự án được bao gồm hay còn gọi là khuôn khổ, chẳng hạn như TAPKU

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


Tôi không thực sự hiểu bước 8 ... Bạn có thể giải thích thêm được không?
Samuel

4
Nếu bạn chọn KHÁC từ trình đơn thả xuống, bạn sẽ nhận được một hộp có lưới, bạn có thể thêm armv6 trên một dòng và armv7 trên dòng tiếp theo. Ảnh chụp màn hình bạn đã thêm sai.
J3RM

Điều đó đã cứu tôi. Cảm ơn rất nhiều !
fyasar

1
Hãy chắc chắn rằng "Xây dựng tích cực Kiến trúc Chỉ" được đặt thành "Không" Nếu không, nếu bạn đang kết nối với thiết bị đó sẽ xây dựng chỉ thiết bị ...
user739711

46

Đối với Xcode 4.5, hãy đặt mục tiêu triển khai ít nhất là iOS 4.3 và điều đó sẽ giải quyết được. armv6 và các phiên bản iOS trước đó gần như tuyệt chủng.


2
Cảm ơn rất nhiều vì điều này, nó đã làm tôi đau đầu 2 tiếng đồng hồ rồi!
RickJansen 22/09/12

2
yeah, thiết lập các mục tiêu lên iOS 4.3 giải quyết vấn đề trong mới nhất 4.5.1 quá ... thx
Jim Jose

40

Cách dễ dàng để làm điều đó:

1) Nhấp chuột trái vào biểu tượng dự án ( biểu tượng màu xanh lam , bên dưới nút "Chạy").

2) Bên cạnh biểu tượng dự án (ở bên phải của nó), nhấp chuột trái vào tên dự án trong "DỰ ÁN" (Nền trắng).

3) Chọn tab "Cài đặt xây dựng" và tìm menu con "Kiến trúc" ( Cái đầu tiên). Nhấp chuột trái vào "Chuẩn (armv7) $ (ARCH_STANDARD_32_BIT)" và chọn "Khác ..."

4) Nhấp vào biểu tượng "-" để xóa giá trị ban đầu ( "$ (ARCH_STANDARD_32_BIT)" ). Nhấp vào biểu tượng "+" và viết "armv6" (không có dấu ngoặc kép). Nhấp lại vào biểu tượng "+" và thêm "armv7" (cũng không có dấu ngoặc kép). Nhấp vào "Hoàn tất" .

5) Đảm bảo rằng "Chỉ xây dựng kiến ​​trúc hoạt động" được đặt thành "Không" (phải như vậy)

6) Bên cạnh biểu tượng dự án (bên phải của nó), nhấp chuột trái vào tên dự án trong "MỤC TIÊU" và lặp lại các bước 3, 4 và 5.

7) Nhấn cmd + I trên bàn phím của bạn (hoặc Sản phẩm -> Hồ sơ trên menu Xcode) và kiểm tra xem mọi thứ có ổn không.


3
Tôi tìm thấy những hướng dẫn này để được rõ ràng hơn, nhưng đừng quên lưu ý quan trọng này từ @ J3RM: "Hãy nhớ rằng bạn có thể cần phải làm điều này cho tất cả các dự án bao gồm aka khuôn khổ như TAPKU"
benvolioT

cài đặt của tôi sao cho "Build Active Architecture Only" được đặt thành true - cảm ơn vì giải pháp!
Chris Brandt

Trong bước 4, bạn đã đề cập nhấp vào Xong. Nhưng tôi không thấy bất kỳ nút DOne nào. :/ Am i thiếu cái gì ở đây?
rohan-patel

5

Môi trường của tôi là Xcode 4.5.1. Thay đổi hai thứ đã giải quyết vấn đề này cho tôi.

  1. Đặt mục tiêu triển khai ít nhất là iOS 4.3.
  2. Chỉ giữ kiến ​​trúc armv7 trong danh sách Kiến trúc trong cài đặt xây dựng và xóa tất cả các kiến ​​trúc khác (bao gồm armv6) một cách rõ ràng.

Đúng, tôi cũng vậy. Ứng dụng chỉ dành cho iPad của tôi từ chối xây dựng cho đến khi tôi xóa armv7s khỏi danh sách kiến ​​trúc.
Mike Gledhill

4

Tôi tình cờ gặp câu hỏi này khi tìm giải pháp cho cảnh báo:

warning: iPad: application executable is missing a required architecture.
At least one of the following architecture(s) must be present: armv7 (-19033)
Unable to validate your application. - (null)

Các câu trả lời khác không giải quyết được vấn đề của tôi, sau đó tôi nhận ra rằng tôi đã thay đổi một giá trị của CFBundleExecutable. Khi tôi trở lại giá trị cũ mọi thứ lại suôn sẻ.

Tôi không chắc nguyên nhân trực tiếp của cảnh báo đó là gì nhưng ít nhất tôi có thể phân phối lại các bản dựng Ad Hoc.


Thực sự kỳ lạ, có cùng một cảnh báo và cùng với một số cảnh báo không liên quan. Đã thay đổi giá trị CFBundleExecutabletrở lại như cũ và tất cả đều ổn. Cảm tạ!
Adriano Lucas

3

Tất cả các câu trả lời không giúp được gì cho trường hợp của tôi, bằng cách sử dụng Xcode 4.2.1.

Những gì tôi đã làm là thay đổi Architecturestừ armv7sang armv6 armv7và nó hoạt động. Như thế này:

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


3

Việc thêm armv6 chỉ là một phần vấn đề đối với tôi để giải quyết vấn đề tương tự với Xcode 4.5. Tôi cũng phải tăng mục tiêu triển khai của mình từ iOS 4.1 lên iOS 5.0 để nó hoạt động. Nhiều giờ thất vọng cho một sửa chữa đơn giản như vậy. Hy vọng nó giúp.


5
Tăng mục tiêu lên 4,3 là đủ.
SK9

-1

Đối với tôi, nó hữu ích khi tôi chỉ đặt armv6trong Kiến trúc

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.