Để kiểm tra chuyển đổi từ một trạng thái (trước) sang trạng thái khác (sau), bạn cần có cách để đặt ứng dụng ở trạng thái trước đó.
Ứng dụng của bạn chắc chắn sẽ không chạy trong khi hệ điều hành đang được cập nhật, vì vậy bạn thực sự chỉ cần lo lắng về ứng dụng khởi động và phát hiện ra rằng hệ điều hành đã được cập nhật. Có một vài lựa chọn:
Sao chép tất cả ứng dụng của bạn tập tin dữ liệu từ một thiết bị chạy "cũ" iOS phiên bản (5.1 theo câu hỏi của bạn) với một thiết bị chạy (6.0) phiên bản mới. Trình tổ chức trong Xcode sẽ cho phép bạn dễ dàng sao chép "vùng chứa" của ứng dụng từ thiết bị sang máy Mac hoặc ngược lại.
Làm cho ứng dụng của bạn ghi dữ liệu ở định dạng "cũ". Không có gì lạ khi ứng dụng có phương pháp đọc và ghi dữ liệu ở các định dạng khác nhau tùy thuộc vào môi trường, vì vậy thường dễ dàng hơn để ứng dụng ghi dữ liệu ở định dạng cũ hơn là thực sự sao chép từ thiết bị cũ.
Cho dù con đường bạn chọn, suy nghĩ về bất kỳ nơi khác (như giá trị mặc định người dùng) mà bạn có thể thực hiện thay đổi phiên bản phụ thuộc vào hệ điều hành và thiết lập những trở về giá trị tương ứng với các hệ điều hành trước đó. Điều này đặc biệt áp dụng cho các mục keychain không được lưu trữ trong hộp cát của ứng dụng của bạn.
khuôn khổ Đơn vị kiểm tra (như khuôn khổ XCTest của Apple) thường có một cơ chế thiết lập mà bạn có thể sử dụng để thiết lập lại ứng dụng của mình vào trước nhà nước, bao gồm sao chép file, thêm và loại bỏ mặt hàng keychain, thiết lập giá trị mặc định mặt hàng, vv Bạn sau đó có thể thêm các bài kiểm tra đơn vị chạy bất kỳ mã nào có thể tham gia vào bản cập nhật và kiểm tra kết quả. Với một tập hợp các bài kiểm tra dễ dàng lặp lại, bạn sẽ có thể gỡ lỗi mọi vấn đề dễ dàng hơn.
Tuy nhiên bạn tiếp cận nó, mục tiêu là đặt ứng dụng ở trạng thái giống như khi nó chạy lần đầu tiên sau khi cập nhật hệ điều hành xảy ra.Bạn không cần phải lo lắng về việc mô phỏng cập nhật hệ điều hành thực tế, bạn chỉ cần lừa ứng dụng nghĩ rằng bản cập nhật vừa mới xảy ra.
Bạn muốn kiểm tra điều gì bằng cách này? Thử nghiệm ứng dụng riêng biệt trên 5.1 và trên 6.0 là đủ. Ứng dụng không thể chạy khi hệ thống đang nâng cấp. – Sulthan
Có nhiều cách để hạ cấp hệ điều hành của bạn - hãy tìm chiếc ô nhỏ xíu - ví dụ: http://www.idownloadblog.com/2012/05/25/save-your-shsh-blobs-5-1-1/ – Till
Sulthan, ah, sự khác biệt giữa lý thuyết và thực hành ... chúng tôi nghĩ rằng có một số logic trong ứng dụng của chúng tôi phá vỡ trong quá trình chuyển đổi và để lại một số dữ liệu ứng dụng ở trạng thái không nhất quán. Đến nay, cảm ơn, chúng tôi sẽ thử điều đó, nếu chúng tôi tìm thấy bất kỳ thiết bị nào mà chúng tôi chưa nâng cấp lên iOS 6.0. Tuy nhiên, nó sẽ dễ dàng nhất thông qua trình mô phỏng. –