2015-10-14 15 views
8

Sau khi nâng cấp lên Xcode 7, tôi nhận thấy rằng CFBundleIdentifier đã bắt đầu trỏ đến Mã nhận dạng sản phẩm được tìm thấy trong Cài đặt/đóng gói thay vì Trình nhận dạng gói trong Info.Plist. Có cách nào để thay đổi lại không? Hay nó sẽ chỉ đơn giản là làm việc để trỏ trở lại định danh bó, tức là viết $ (BUNDLE_IDENTIFIER) trong trường định danh gói sản phẩm?Sử dụng Định danh Bundle thay cho Mã định danh Gói sản phẩm bằng Xcode 7

Trả lời

19

Bạn nên giữ $(PRODUCT_BUNDLE_IDENTIFIER) trong Info.plist của bạn và thiết lập sản phẩm bó nhận dạng của bạn trong Cài đặt xây dựng> Sản phẩm Bundle Định danh với một giá trị của cái gì đó như com.mydomain.myappname.

Từ release notes Xcode 7.0:

cài đặt sản phẩm Bundle Identifier (PRODUCT_BUNDLE_IDENTIFIER) xây dựng mới là nơi được đề nghị để thiết lập Bundle định danh cho một mục tiêu. Info.plist của mục tiêu sẽ được định cấu hình để sử dụng cài đặt bản dựng này bằng cách tham chiếu nó dưới dạng $ (PRODUCT_BUNDLE_IDENTIFIER) trong giá trị cho khóa CFBundleIdentifier.

Xcode cung cấp để định cấu hình cho bạn khi bạn chấp nhận hiện đại hóa dự án "Nâng cấp lên cài đặt được đề xuất" trong điều hướng phát hành, trừ khi mục tiêu của bạn xử lý trước tệp Info.plist của nó. Trong trường hợp đó, bạn sẽ cần phải định cấu hình cài đặt này theo cách thủ công. Thay đổi này tương thích ngược với các phiên bản Xcode cũ hơn.

Thay đổi này là bắt buộc để làm cho các tính năng nhất định hoạt động, chẳng hạn như Tài nguyên theo yêu cầu, nếu mục tiêu của bạn xử lý trước tệp Info.plist của nó. (20887827)

+3

Đây là cách được khuyến nghị ngay bây giờ. Ngoài ra: chuẩn bị để chạy vào các vấn đề xây dựng nếu bạn quyết định tiếp tục sử dụng giá trị động trong giá trị của CFBundleIdentifier trong Info.plist. – Webdevotion

+0

Cảm ơn con đường ... – Karun

+0

Điều này đã không được chú ý ở đây, gây ra rất nhiều vấn đề cấp phép vì CFBundleIdentifier của tôi đã có một lỗi gỡ lỗi được nối thêm động. – nobre

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