2015-10-02 15 views
8

Khi tôi xây dựng ứng dụng của mình trên El Capitan bằng Xcode6.4 (Xcode7 không có tùy chọn ngay bây giờ), tất cả hình ảnh/biểu tượng (ngoại trừ AppIcon) không hiển thị hoặc trông bị cắt xén.Tài nguyên hình ảnh (xcassets) không hiển thị đúng trên Yosemite trong ứng dụng được xây dựng trên El Capitan sử dụng xcode6.4

Nhìn vào đầu ra từ các trình biên dịch tài sản có vẻ tốt đẹp, nhưng có hai kết quả đầu ra tôi nghi ngờ có thể liên quan, nhưng tôi chưa chắc chắn:

2015-10-02 12: 26: 53,569 ibtoold [28899: 273288] NSFileCoordinator không làm gì cả.

2015-10-02 12: 26: 54,906 ibtoold [28.899: 276.436] CoreUI (DEBUG): CSIGenerator sử dụng phiên bản nén coreui 'LZFSE' (362,000000)

thể nó được rằng messes nén LZFSE để Yosemite không thể giải nén chính xác, và nếu vậy, có cách nào để ghi đè lên điều này không?

Không có vấn đề gì khi ứng dụng chạy trên El Capitan.

Bất kỳ đề xuất nào đều được hoan nghênh.

UPDATE: Các thông điệp này được xuất ra để an ủi khi ứng dụng chạy trên Yosemite:

02.10.15 22.31.59,914 AppName [452]: - [CUIThemeRendition newImageFromCSIDataSlice: ofBitmap: usingColorspace:] không được hỗ trợ định dạng pixel trong CSI có 36864

02.10.15 22.31.59.914 Tên ứng dụng [452]: Không thể tạo hình ảnh không được xử lý từ dữ liệu bitmap csi.

Có vẻ như họ có vấn đề này cho iOS7 trong Xcode beta 3 here

Nhưng có vẻ lạ nó đột nhiên xuất hiện một lần nữa bây giờ, và mục tiêu của tôi là OS X.

UPDATE: Vì vậy, Tôi đã nâng cấp lên Xcode7 và toàn bộ vấn đề đã biến mất. Tất cả hình ảnh và biểu tượng giờ đây đều hiển thị chính xác ở El Capitan và Yosemite.

+2

Tôi có vấn đề tương tự và tôi không chắc chắn 100% đây là vấn đề tương tự vì tôi đang phát triển với xamarin chống lại ios 8, nhưng dường như có liên quan. Đây là liên kết tới [Xamarin Forum Question] (http://forums.xamarin.com/discussion/51159/resources-images-xcassets-actool-warning-the-app-icon-set-appicons-has-an- unassigned-child), nơi tôi đăng câu hỏi tiếp theo của tôi là _isaias-b_ –

+0

Tôi có cùng một vấn đề nhưng không phải trên El Capitan. Tôi sử dụng Yosemite và Xcode 6.4 với Xcode 7 được cài đặt. – Stas

Trả lời

0

Hãy thử chuyển đổi .png thành .jpg, .png của tôi không hiển thị quá nhưng .jpg hiển thị. Hoặc không đưa chúng vào Images.xcassets.

0

Tôi gặp vấn đề tương tự sau khi cài đặt XCode6.4. Tôi đã đẩy nó bằng cách chuyển đổi tất cả hình ảnh thành .jpg cho danh mục .xcassets.

7

Thông tin cơ bản:

Mỗi phiên bản Xcode đi kèm với trình mô phỏng được tích hợp sẵn. Xcode 6.4 có iOS Simulator 8.4. Xcode 7.1 có iOS Simulator 9.1 vv Những mô phỏng đã hồ sơ lưu trữ trong Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/CoreSimulator/Profiles/Runtimes

Khi bạn cài đặt mô phỏng bổ sung, những được chia sẻ trên các phiên bản Xcode, và hồ sơ của họ được lưu trữ tại /Library/Developer/CoreSimulator/Profiles/Runtimes

Vì vậy, khi bạn cài đặt iOS Simulator 9.0 từ Xcode 7.1, hồ sơ mô phỏng 9.0 được đặt ở vị trí được chia sẻ. Nếu bạn cài đặt iOS Simulator 8.4 từ Xcode 7.1, nó cũng sẽ được đặt ở đây, như Xcode 7.1 là không biết rằng có một bản sao của iOS Simulator 8.4 ẩn bên trong của Xcode 6.4.

Vì vậy, những gì dường như xảy ra là (đối với Xcode 6.4):

  • khi bạn gọi actool để tạo ra một catalog tài sản, nó sẽ khởi động ibtoold
  • ibtoold cuộc gọi thông qua một dịch vụ XPC (com.apple. coresimulator) và chạy một thể hiện của IBCocoaTouchImageCatalogTool trên đầu trang của dịch vụ mô phỏng
  • IBCocoaTouchImageCatalogTool đi qua tất cả các thời gian chạy mô phỏng tại /Library/Developer/CoreSimulator/Profiles/Runtimes và dường như sử dụng phiên bản mới nhất mà nó có thể tìm thấy. Tại sao nó thực hiện điều này không thực sự rõ ràng với tôi, nhưng không có số lượng knob fiddling gây ra nó để làm bất cứ điều gì khác.

Vì vậy nếu bạn đã cài đặt Xcode 7.1.1 và tải xuống trình mô phỏng 9.0, bạn sẽ phá vỡ cài đặt Xcode 6.4 vì trình mô phỏng 9.0 cài đặt thời gian chạy trong khu vực chạy mô phỏng dùng chung và Xcode 6.4 chọn nó trong một số trường hợp. Điều này dường như làm cho actool làm xáo trộn bất kỳ png nào mà nó đang nhập. Trong thử nghiệm của tôi nó là tốt nhập khẩu jpgs. Các hiệu ứng phụ thú vị khác bao gồm thực tế là cố gắng chỉnh sửa Bảng phân cảnh trong Xcode 6.4 khiến cho Xcode 6.4 bị lỗi.

Vì vậy, nếu bạn cần có cả Xcode 7.x và Xcode 6.4 thì KHÔNG cài đặt bất kỳ trình mô phỏng iOS 9.x nào từ cài đặt Xcode 7.

+0

Điều này rất có thể là trường hợp của iOS. Như tôi đã đề cập khá xa trong câu hỏi của mình, ứng dụng của tôi nhắm mục tiêu OS X, do đó, có vẻ như điều này lạ sẽ có bất kỳ mối quan hệ nào với trình mô phỏng iOS. Điều đó đang được nói, bạn có thể được vào một cái gì đó liên quan đến các runtimes. Tôi đã ngừng điều tra điều này thêm nữa khi chúng tôi nâng cấp lên phiên bản Xcode mới nhất và thấy sự cố đã biến mất. – Trond

4

Tiếp theo (một phần) những lời khuyên của @drmaclach Tôi làm theo các bước và đã thoát khỏi những -[CUIThemeRendition ...] lỗi pesky (Tôi đang sử dụng Xcode 6.4 và Mac OS X 10.11.1)

  • Trong Xcode, đi Window -> các dự án, tìm dự án của bạn và bấm "delete" nút cho "dữ liệu nguồn gốc"
  • Quit Xcode và iOS Simulator
  • xóa iOS 9.0.simruntime từ /Library/Developer/CoreSimulator/Profiles/Runtimes dự án
  • mở lại trong Xcode và thực hiện các thư mục Build sạch dưới Pr oject khi giữ phím tùy chọn
Các vấn đề liên quan