2010-09-22 28 views
17

Tôi đã tìm kiếm khắp nơi và đã không tìm thấy bất kỳ sự giúp đỡ ...Xcode cho thấy cũ, các file xib xóa

tôi đã xây dựng một ứng dụng thử nghiệm nhỏ với hai UIViewControllers và họ tương ứng xibs. Mọi thứ đều tốt đẹp, sau đó tôi đã thực hiện một số thay đổi cho cả hai xibs nhưng khi tôi xây dựng và chạy, tôi nhận được các chế độ xem cũ. Tôi đã thử xóa các thư mục xây dựng, chạy trong trình mô phỏng và thiết bị, làm sạch tất cả các mục tiêu và vẫn giống nhau, cũ, đã bị hỏng xibs mà tôi hoàn toàn thay đổi vẫn hiển thị. Tôi đã khởi động lại tất cả các ứng dụng Xcode và thậm chí cả máy tính của tôi.

Bắt khá khó chịu!

EDIT: Tôi chưa bao giờ tìm ra vấn đề là gì. Về cơ bản, một khi tôi đã xây dựng một dự án, nó nhớ những xib đầu tiên tôi tạo ra và sẽ không nhận ra những thay đổi đối với chúng. Nếu tôi nói với một bộ điều khiển xem để tải từ một tên nib khác, hợp lệ, nó sẽ phàn nàn rằng cái cũ không có ở đó.

Tôi đã cài đặt lại Xcode và bây giờ tất cả hoạt động trở lại. Sheesh.

+0

Xin chào Steve, tôi hoàn toàn giống nhau. Tôi chạy xCode 3.2 và làm việc trên ứng dụng iOS4.2 khi điều này xảy ra. – iFloh

+2

Trong trường hợp điều này xảy ra với bạn một lần nữa: http://stackoverflow.com/questions/5714372/how-to-empty-caches-and-clean-all-targets-xcode-4 – Ascendant

Trả lời

0

Tôi đã kết thúc việc tạo lại các xib từ đầu và hoạt động. Rất bực bội.

+0

Bạn gặp phải một vấn đề bực bội và giữ với nó cho đến khi bạn giải quyết nó. Làm tốt. –

+0

Tôi đoán đó không phải là mới trong việc học lập trình, hoặc sử dụng các công cụ rất phức tạp như thế này! Cảm ơn sự động viên! – Steve

13

Thử xóa ứng dụng khỏi trình mô phỏng (giữ biểu tượng của ứng dụng để chuyển sang chế độ jiggle, sau đó nhấp vào X bởi ứng dụng) và từ thiết bị của bạn. Sau đó, hãy để Xcode cài đặt lại nó.

+0

Tôi đã thử nhiều lần. Trên thực tế, tôi vừa sửa đổi xib của tôi và không thực sự xóa chúng. Tôi chỉ làm điều đó và làm trống thùng rác. Bây giờ tôi sụp đổ vì Xcode không thể tìm thấy xibs! Mặc dù có những cái mới có cùng tên và cùng loại đối tượng. '*** Chấm dứt ứng dụng do ngoại lệ chưa nắm bắt 'NSInternalInconsistencyException', lý do: 'Không thể tải NIB trong gói:' NSBundle (được nạp) 'với tên' FlashViewController''' – Steve

+0

cảm ơn, điều này đã khắc phục được sự cố của tôi khi XIB cũ được hiển thị ngay cả sau khi tôi đã xóa nó thông qua Xcode. –

+0

Cảm ơn bạn, đã đóng đinh nó. Đi xung quanh trong vòng tròn, rất tự tin không có cách nào thanh điều hướng FlipsideViewController của tôi vẫn sẽ xuất hiện sau khi xóa các tập tin FlipSideViewController.xib nhưng nó vẫn hiển thị. – Zhang

1

Không chắc chắn liệu điều này có hữu ích hay không, nhưng tôi đã có điều này.

Tôi mất nhiều ngày để giải quyết. Trong trường hợp của tôi, tôi đã tăng cường một tệp Xib hiện có. Những thay đổi tôi đã áp dụng trong trình tạo giao diện không bao giờ xuất hiện trong ứng dụng.

Cuối cùng tôi đã tìm ra nguyên nhân. Tôi đã có cửa sổ xem tệp FilesOwner của tôi được đặt thành chế độ xem phụ bên dưới chế độ xem trên cùng. Khi tôi nâng cao chế độ xem, tôi đã làm điều này dưới dạng tiện ích mở rộng cho chế độ xem hàng đầu. Do đó, các thay đổi không bao giờ xuất hiện khi chạy ứng dụng.

Thay đổi ổ cắm nhằm quan điểm đúng (giao diện hàng đầu trong trường hợp của tôi) đã làm các trick và tất cả làm việc tốt ...

+0

Tôi chưa từng thấy cửa sổ bật lên này, nhưng đó là một mẹo hay. +1 – Steve

2

Chỉ việc điều chỉnh XIB của bạn tập tin một chút, sau đó lưu chúng, Xcode sẽ phát hiện sửa đổi (ngày sửa đổi cuối cùng trong hệ thống tệp), sau đó tải xib từ đường dẫn thực của nó và không phải từ đường dẫn bộ nhớ cache: P

0

bạn có thể thử sửa đổi XIB của mình một chút, vì vậy xCode sẽ phát hiện sửa đổi ngày sửa đổi cuối cùng trong hệ thống tệp. sau đó nó sẽ tải xib từ đường dẫn thực tế của nó, không phải từ bộ đệm xCode.

1

Tôi biết steve đã tìm thấy một công việc xung quanh nhưng vấn đề không nằm trong các tệp XIB. Xcode không cập nhật tệp YouApplication-info.plist thành

Nếu bạn mở nó, bạn sẽ thấy dòng: Tên cơ sở chính của tệp nib. Bạn phải thay đổi giá trị để phản ánh tên tệp NIB mong muốn của mình

0

Tôi đã gặp vấn đề tương tự, nhưng tôi đã giải quyết nó bằng cách thay đổi ngày giờ của hệ thống của tôi thành hôm nay. Và tái lưu lại xib. Tôi đã thử nghiệm thông báo địa phương.

1

Tôi gặp sự cố này và đó là kết quả của xcode tiếp tục sao chép xib đã được biên dịch trước đó - ngay cả khi tệp nguồn đã bị xóa, bộ đệm dựng không phải. Sản phẩm> Làm sạch và sau đó biên dịch lại giải quyết nó.

+0

Tôi cũng phải xóa sạch thư mục Dữ liệu có nguồn gốc cho dự án của mình. – ettore

1

Tôi vừa gặp sự cố này, chỉ cần xóa ứng dụng khỏi trình mô phỏng.
Sau đó, làm sạch trên dự án của bạn.
Trong xCode, chuyển đến menu Sản phẩm, chọn Làm sạch.

Hoặc chỉ cần nhấn Shift + Command + K!

6

chỉ làm sạch xây dựng sử dụng

sản phẩm -> sạch

menu.

2

Tôi vừa tìm thấy (và cố định) một vấn đề liên quan - một vấn đề thể hiện các triệu chứng tương tự nhưng nguyên nhân gốc rễ của nó hơi khác một chút.

Cụ thể, các triệu chứng mà tôi quan sát là ứng dụng iPad ban đầu sẽ hiển thị hình ảnh bảng phân cảnh cũ cho trang đầu tiên và sau một khoảng thời gian ngắn sẽ hiển thị nội dung bảng câu chuyện được chỉnh sửa gần đây nhất. Tôi đã đi qua hầu hết các machinations ở trên không có kết quả.

Vấn đề là bộ nạp iPad trước tiên chỉ tải hình ảnh khởi chạy ứng dụng của bạn lên màn hình một cách khiêm tốn. Bạn thường thiết lập hình ảnh này như một phần của thiết lập quản trị ban đầu của ứng dụng trong XCode. Vào thời điểm khởi chạy, trong khi người dùng cuối xem xét nội dung và hợp nhất về vị trí chạm vào màn hình, ứng dụng trong thời gian chờ sẵn sàng sẵn sàng, bỏ lưu trữ xib/nib/storyboard và thực hiện tác vụ thực thực chuẩn bị sẵn sàng.

Trong trường hợp lý tưởng, hình ảnh khởi chạy được cung cấp là pixel-điểm ảnh giống với hình ảnh được tạo bởi quá trình không lưu trữ. Tuy nhiên, nếu bạn quên cập nhật hình ảnh khởi chạy sau khi cập nhật bảng câu chuyện, bạn sẽ thấy một sự thay đổi hình ảnh khi hoàn thành việc hủy lưu trữ. Tôi sẽ không nghi ngờ điều này là vấn đề ngoại trừ việc tôi đã đọc mô tả của Jef Raskin về cách ông đã làm chính xác điều này trên trình xử lý văn bản của Canon Cat để cung cấp ảo tưởng về ứng dụng đã sẵn sàng ngay lập tức: rằng thời gian phản hồi của con người điển hình đối với việc khởi động ứng dụng là theo thứ tự bảy giây - rất nhiều thời gian cho ngay cả một hệ thống dựa trên đĩa mềm để tải và ghi đè lên mặt tiền bitmap mà bộ nạp được thiết lập. Đôi khi, thật tốt khi đọc một chút lịch sử phức tạp. Jef dĩ nhiên sau đó sẽ tìm thấy một dự án có tên là Macintosh, và phần còn lại là lịch sử - và lỗi này.

+0

Bạn là anh hùng của tôi! Đã tìm kiếm và thử mọi thứ trong hai ngày để loại bỏ hình ảnh ma này của màn hình cũ hiển thị khi khởi chạy ứng dụng. Kiểm tra hình ảnh khởi động của tôi và họ đã có. Không thể tin được. – JeffK

0

Chỉ là một giả định, không chắc chắn nếu điều đó thực sự gây ra nó: Tôi đã hoàn thành một XIB hoạt động tốt trong trình mô phỏng và trên một thiết bị thực tế. Sau đó tôi đã thay đổi nó để được bản địa hóa trong Xcode 4.5.1. Những thay đổi tôi đã thực hiện sau đó không được đồng bộ hóa với thiết bị cho đến khi tôi xóa ứng dụng khỏi thiết bị theo cách thủ công và cài đặt lại thông qua Xcode.

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