2012-10-11 38 views
8

Khi cố gắng để lưu trữ một ứng dụng cho một bản phát hành Ad Hoc, Tôi nhận được cảnh báo sau đây:iOS 6 Xcode 4.5 armv7s kiến ​​trúc được hỗ trợ

iPhone/iPod Touch: application executable contains unsupported architecture(s): armv7s (-19031)

Tôi thực sự không chắc chắn lý do tại sao điều này xảy ra vì hai lý do :

  • duy nhất khuôn khổ phi nền tảng tôi đang sử dụng là Facebook SDK, đó là phiên bản mới nhất
  • tôi lưu trữ thành công ứng dụng vào tuần trước và những điều duy nhất mà đã thay đổi si nce sau đó là hoàn toàn mã hóa thay đổi.

Ngoài ra, tôi đã thử lưu trữ có và không có iPhone 5 cắm vào và tôi nhận được lỗi cả hai cách.

Có ai biết cách sửa lỗi này không?

+0

Bạn đã kiểm tra kiến ​​trúc ứng dụng đã chọn trong cài đặt xây dựng chưa? – iDev

+1

Lạ. Tôi nhận được cùng một lỗi ngày hôm nay trong HAI ứng dụng (cả bản cập nhật v1.1) đã được phát hành trước đó bao gồm armv7 AND armv7s ... – Jonny

+0

Hãy chắc chắn rằng bạn đã chọn cùng một tùy chọn SDK cơ sở trên các thiết lập Project và Target Architecture. –

Trả lời

7

Nhanh chóng khắc phục là

Di armv7s từ

Project -> Build Settings -> Architecures

Cập nhật ::

Bây giờ thay đổi Xây dựng Kiến trúc tích cực trong Cài đặt xây dựng để Không có. Nhưng ngay cả điều này không phải là một giải pháp tinh khiết cho vấn đề này.

+2

nhưng không thực sự là một sửa chữa. Tôi đang gặp vấn đề tương tự như trên, và muốn hỗ trợ đầy đủ cho iPhone5. –

+0

Sau đó, bạn sẽ cần phải xây dựng tất cả thư viện của mình với armv7, cũng có các thư viện bên thứ ba mới nhất như AdMob, Urban Airship vv và bạn sẽ không phải thực hiện các sửa lỗi nhanh này –

+1

Xcode 4.5.2 dường như đã cập nhật các thư viện. thử lại sau khi cập nhật lên Xcode 4.5.2 – user1046037

5

Cùng một vấn đề ở đây ngày hôm nay khi gửi ứng dụng (cập nhật) của tôi đến appstore.

Tôi nhớ rõ ràng rằng phiên bản cuối cùng của nó đã được đệ trình với cả ARMv7 và armv7s thiết lập và đã thành công, nhưng bây giờ Organizer nói với tôi:

"iPhone/iPod Touch: ứng dụng thực thi chứa kiến ​​trúc được hỗ trợ (s): armv7s"

để loại bỏ armv7s rất đơn giản, nhưng ứng dụng của tôi là Universal, ứng dụng bị loại bỏ armv7 có chạy trên tất cả các thiết bị iOS (ví dụ như iPhone 5) không? khi nào tôi nên xây dựng với aremv7s?

+1

Ảnh hưởng tương tự ở đây ... ai đó trên http://stackoverflow.com/questions/12899451/iphone-ipod-touch-application-executable-contains-unsupported-architectures?lq=1 nói rằng bạn sẽ không nhận được iPhone5 hiệu suất đầy đủ, nhưng ứng dụng của bạn sẽ vẫn chạy trên ứng dụng đó. – domsom

6

Tôi có thể lưu trữ và xác thực các dự án của mình bằng cách thay đổi trạng thái 'Cài đặt xây dựng -> Chỉ xây dựng kiến ​​trúc hoạt động' từ 'Không' thành 'Có'.

+5

Về bản chất, nó giống như việc loại bỏ armv7 khỏi "Kiến trúc" với điều kiện kiến ​​trúc đi vào kho lưu trữ là armv7 chứ không phải armv7. – Jonny

2

Các vấn đề tương tự ở đây, ứng dụng đã vượt qua xác thực trước đây, nhưng sau khi thay đổi mã nhanh, không đi. Có thể điều này có thể có một cái gì đó để làm với ipod? Dường như là một vấn đề gần đây, tính đến hôm qua.

+1

Tôi có thể xác nhận điều này. Một ứng dụng trước đây đã gửi cập nhật tốt hiện không xác thực cho tôi. – joshholat

1

Nhận kết quả tương tự như 21k. Tôi đã gửi một tệp nhị phân có cả hai số armv7armv7s vào App Store tuần trước và đã qua quá trình xác thực cũng như đánh giá. Bây giờ tôi đã thử gửi bản cập nhật cho cùng một ứng dụng với các cài đặt dự án tương tự chính xác (khác với số hiệu phiên bản thông thường) và không thể xác thực.

Thực tế, tôi thử xác thực ứng dụng đã lưu trữ từ tuần trước và bây giờ có cùng lỗi. Vì vậy, một cái gì đó phải có thay đổi ở phía App Store.

0

Đi tới Project ---> Build Settings và cuộn xuống thiết lập Kiến trúc.

Có thể bạn sẽ thấy giá trị $ (ARCHS_STANDARD_32_BIT) được liệt kê trong Kiến trúc.

Nếu vậy, bấm đúp vào $ (ARCHS_STANDARD_32_BIT), chọn nó và bấm vào nút dấu trừ để loại bỏ nó. Sau đó nhấp vào nút dấu cộng và viết armv7 và nhấn Enter.

Bây giờ bạn đã xóa armv7, không được hỗ trợ. Hãy thử lại và mọi thứ sẽ tốt.

-1

Xóa kiến ​​trúc armv7 khỏi menu Cài đặt xây dựng> Kiến trúc. Tại thời điểm đó phải xuất hiện amrv7s kiến ​​trúc hợp lệ và amrv7. Loại bỏ chỉ hoàn thành trong s. Nếu menu không xuất hiện, hãy lưu ý rằng menu được đặt thành "Tất cả" và "Kết hợp" trong thanh tìm kiếm.

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