2015-06-05 17 views
6

Tôi đang cố gắng xây dựng một khung cảm ứng Cocoa cho iOS8 và cuối cùng sẽ được nhúng trong các ứng dụng và được gửi tới cửa hàng ứng dụng, điều quan trọng là bản phát hành chứa CHỈ armv7 nhưng bản dựng gỡ lỗi cũng phải chạy trong trình mô phỏng. Như vậy, tôi đã làm theo this tutorial và tôi chạm vào một lỗi runtime khi cố gắng chạy một ứng dụng trong mô phỏng với khuôn khổ nhúng:Khung tùy chỉnh không tải được trong trình mô phỏng iOS (kiến trúc sai)

dyld: Library not loaded: @rpath/TestFramework.framework/TestFramework 
    Referenced from: /Users/jay/Library/Developer/CoreSimulator/Devices/97715157-EABB-4F38-8CA0-62768358DDD6/data/Containers/Bundle/Application/4856FC75-6C5B-4F7E-91A9-70CA1863D130/Test.app/TestFramework 
    Reason: no suitable image found. Did find: /Users/jay/Library/Developer/CoreSimulator/Devices/97715157-EABB-4F38-8CA0-62768358DDD6/data/Containers/Bundle/Application/4856FC75-6C5B-4F7E-91A9-70CA1863D130/Test.app/Frameworks/TestFramework.framework/TestFramework: mach-o, but wrong architecture 

Tuy nhiên, khi tôi duyệt đến nhị phân khuôn khổ nó phàn nàn về

(/Users/jay/Library/Developer/CoreSimulator/Devices/97715157-EABB-4F38-8CA0-62768358DDD6/data/Containers/Bundle/Application/4856FC75-6C5B-4F7E-91A9-70CA1863D130/Test.app/) 

và chạy xcrun lipo -info TestFramework tôi nhận được đầu ra Non-fat file: TestFramework is architecture: i386 vì vậy tôi kinda mất tại đi đâu bây giờ. Nó chạy tốt trên một thiết bị iOS thực tế.

+0

"được gửi tới cửa hàng ứng dụng" và "chứa CHỈ armv7" không loại trừ lẫn nhau. – Droppy

+0

Xin lỗi, armv7/arm64. Dù sao, chỉ cần không có kiến ​​trúc giả lập. – Jay

+0

OK Tôi sẽ giả định rằng điều này liên quan đến cách mục tiêu ứng dụng Xcode của bạn được thực hiện phụ thuộc vào mục tiêu khung của bạn. Nếu điều này được đặt trong * Giai đoạn xây dựng * chính xác thì Xcode sẽ xây dựng kiến ​​trúc chính xác cho ứng dụng (ví dụ: thiết bị hoặc trình mô phỏng). Tôi nghĩ rằng tất cả những gì bạn cần làm là sao chép nó vào đúng chỗ trong gói ứng dụng (cấu trúc gói ứng dụng iOS ít chính thức hơn cấu trúc gói ứng dụng OSX, nhưng nó vẫn cần làm). Điều này có lẽ sẽ cần một kịch bản tùy chỉnh trong tab * Xây dựng giai đoạn *. – Droppy

Trả lời

0

Dựa trên câu hỏi và nhận xét của bạn, nguyên nhân có nhiều khả năng nhất là bạn đang xây dựng khung cho 32bit và liên kết nó với ứng dụng 64 bit. Nếu không phải như vậy, vui lòng cung cấp toàn bộ văn bản của nhật ký sự cố của bạn.

Bạn nên xây dựng khuôn khổ của bạn 4way-chất béo:

i386/iphonesimulator 
    x86_64/iphonesimulator 
    armv7/iphoneos 
    arm64/iphoneos 

Để làm cho nó 4way chất béo, bạn sẽ cần phải tự lipo-cùng i386 của bạn/x86_64 sim xây dựng với ARMv7 của bạn/arm64 thiết bị xây dựng. Xây dựng chất béo 4 chiều với hai nền tảng khác nhau (từ quan điểm của Xcode) không được hỗ trợ bởi Xcode.

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