2012-01-15 37 views
5

Tôi đang hoàn tất một ứng dụng cho iOS 3.0 trở lên để chạy trên iPhone và iPod Touch. Nó làm việc tốt trên iOS4.0 trở lên, nhưng khi tôi kiểm tra ngược nó trên một thế hệ thứ hai iPod Touch chạy iOS 3.0 cho thấy hình ảnh ra mắt và tôi đã gặp như sau:iOS và hủy lưu trữ các tệp xib

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSKeyedUnarchiver initForReadingWithData:]: incomprehensible archive (0x4e, 0x49, 0x42, 0x41, 0x72, 0x63, 0x68, 0x69)' 
2012-01-15 09:35:53.025 MyApp[3026:207] Stack: (
    808001701, 
    805397928, 
    807551015, 
    807550919, 
    810902709, 
    815043196, 
    815042704, 
    814682908, 
    814682012, 
    814970032, 
    814968048, 
    814966908, 
    839149932, 
    807750263, 
    807747947, 
    814678868, 
    814672532, 
    61527, 
    10764 
) 
terminate called after throwing an instance of 'NSException' 
(gdb) backtrace 
#0 0x31dd594c in __kill() 
#1 0x31dd5940 in kill() 
#2 0x31dd5934 in raise() 
#3 0x31deccfe in abort() 
#4 0x374ef848 in __gnu_cxx::__verbose_terminate_handler() 
#5 0x300166c0 in _objc_terminate() 
#6 0x374ecf3c in __cxxabiv1::__terminate() 
#7 0x374ecfb4 in std::terminate() 
#8 0x374ed0dc in __cxa_throw() 
#9 0x300165e4 in objc_exception_throw() 
#10 0x30224026 in +[NSException raise:format:arguments:]() 
#11 0x30223fc6 in +[NSException raise:format:]() 
#12 0x305564b4 in -[NSKeyedUnarchiver initForReadingWithData:]() 
#13 0x3094927c in -[UINib instantiateWithOptions:owner:loadingResourcesFromBundle:]() 
#14 0x30949090 in -[NSBundle(NSBundleAdditions) loadNibNamed:owner:options:]() 
#15 0x308f131c in -[UIApplication _loadMainNibFile]() 
#16 0x308f0f9c in -[UIApplication _runWithURL:sourceBundleID:]() 
#17 0x309374b0 in -[UIApplication handleEvent:withNewEvent:]() 
#18 0x30936cf0 in -[UIApplication sendEvent:]() 
#19 0x3093687c in _UIApplicationHandleEvent() 
#20 0x3204696c in PurpleEventCallback() 
#21 0x30254a76 in CFRunLoopRunSpecific() 
#22 0x3025416a in CFRunLoopRunInMode() 
#23 0x308f0354 in -[UIApplication _run]() 
#24 0x308eea94 in UIApplicationMain() 
#25 0x0000f056 in main (argc=1, argv=0x2ffff7c8) at ...... Classes/main.m:16 
Current language: auto; currently objective-c 

Bất kỳ ý tưởng này là gì và làm thế nào để sửa chữa nó?

Tôi đang xây dựng trong Xcode 4.2.1.

PS - Sự cố không được giải quyết bằng cách làm sạch bản dựng hoặc bằng cách lưu lại các tệp .xib. Đôi khi các ứng dụng sẽ vượt qua giai đoạn này nhưng sẽ sụp đổ cho rõ ràng là lý do tương tự khi nó nhìn thấy một .xib sau đó, nói trong tải một bộ điều khiển xem.

+0

Như bạn nói rằng bạn đã cố gắng làm sạch xây dựng và resaving nib-files, tôi giả sử bạn cũng đã thử đặt lại nội dung và các thiết lập trong mô phỏng? – Emil

+0

Không, bởi vì tôi đang cố chạy trên thiết bị. Ứng dụng đang chạy tốt trong trình mô phỏng (trình mô phỏng iOS 4.3 và iOS 5.0). – SK9

+0

Bạn không có trình mô phỏng 3.0? Tôi đề nghị bạn tải xuống phiên bản Xcode cũ hơn và cố gắng xây dựng nó ở đó để xem có giúp ích gì không. – Emil

Trả lời

2

Câu trả lời này tôi tin rằng bao gồm những gì Ikuragames có thể đã đưa ra (anh ấy không ở gần máy tính của mình). Thay mặt ông, để giải quyết vấn đề trong Xcode 4.2.1, hãy nhấp vào tệp .xib và trong bảng thuộc tính tệp ở phía bên phải, đặt triển khai thành "iOS 3.0" (trong trường hợp của tôi) và phát triển thành "Trình tạo giao diện 3.0 "(một lần nữa trong trường hợp của tôi). Thực hiện việc này cho mọi tệp .xib trong dự án.

Cần lưu ý rằng Xcode 4.2.1 cũng có thể đặt mặc định là "iOS 5.0" để triển khai tại đây, để khớp với SDK hiện tại và "Xcode 4.1" cho loại tài liệu. Tại sao Xcode không chỉ phù hợp với mục tiêu triển khai với mục tiêu triển khai dự án Tôi không chắc chắn ...

Nếu điều này vẫn không hoạt động hoặc bạn đang rất hoang tưởng bởi giai đoạn này, hãy bắt ngoại lệ do NSKeyedUnarchiver khi tải tệp .xib và tạo chế độ xem theo chương trình.

enter image description here

+0

Rất vui khi bạn làm việc đó - chúc may mắn với dự án của bạn :-) – ikuramedia

+0

@ikuragames: Nếu bạn không nhớ tôi có thể chấp nhận câu trả lời của riêng tôi ở đây (mặc dù nó thực sự là của bạn!). – SK9

+2

chắc chắn, không có vấn đề – ikuramedia

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