2012-01-23 27 views
15

tôi có ba cấu hình trong dự án iOS của tôi:Cấu hình giá trị phụ thuộc trong file Info.plist

  1. gỡ lỗi
  2. Adhoc
  3. phát hành

Bây giờ tôi muốn thay đổi tên của Ứng dụng như sau:

  1. MyAppDebug
  2. MyAppAdhoc
  3. MyApp (Lưu ý rằng điều này không có một hậu tố)

Có cách nào tôi có thể dễ dàng đạt được điều này trong Xcode với một số loại "biên dịch-if-else-vĩ mô -điều "?

+0

bản sao có thể có của [Ba ứng dụng hơi khác nhau từ một cơ sở mã] (http://stackoverflow.com/questions/8956263/three-slightly-different-apps-from-one-code-base) – Besi

Trả lời

29
  • tên hiển thị đang thay đổi của ứng dụng cho các cấu hình tương ứng * Một cách để đạt được điều này là bằng cách sử dụng cùng một tập tin plist thông tin mà bạn có.

    1. Tạo biến do người dùng xác định. Nhấp vào tệp dự án đích.
    2. Sau đó, ở góc dưới cùng bên phải, định vị nút "+" Thêm Cài đặt bản dựng.
    3. Nhấp vào nút "Thêm cài đặt xây dựng" và chọn "Thêm người dùng xác định Cài đặt" nhập tên cho Cài đặt mới như cũ: "BUNDLE_DISPLAY_NAME".
    4. Mở rộng cài đặt mới này để xem các cấu hình bên dưới. Đặt tên mong muốn để hiển thị cho mỗi cấu hình. Đối với ví dụ: Debug -> MyAppDebug

Phần 2:

  1. Chọn tập tin appname-info.plist của bạn.
  2. Xác định vị trí chủ chốt "Bundle Display Name" và giá trị cho nó nên người dùng mới này được xác định biến $ {} BUNDLE_DISPLAY_NAME

Sau đó cho cấu hình thích hợp nó sẽ chọn tên từ biến BUNDLE_DISPLAY_NAME trong xây dựng các thiết lập.

+0

Đây là một câu trả lời tuyệt vời.Đó là một phần thông tin rất có giá trị đối với bất kỳ ai đang duy trì 2 phiên bản ứng dụng (Release/Production). – polterfest

+0

đây là cách tốt nhất để thực hiện việc này. – Jon

4

Chắc chắn. Trước tiên, bạn phải tạo tệp Info.plist riêng biệt cho mỗi cấu hình. Sau đó, trong các thiết lập xây dựng của Project, bạn tìm dòng nơi Info.plist được đặt, mở rộng dòng đó và chọn tệp Info.plist riêng biệt cho mỗi cấu hình bạn có. Sau đó, bạn có thể nhập tên mong muốn vào trường tương ứng trong mỗi tệp Info.plist. Đó là nó :)

+1

Có thể làm điều này, nhưng không cần phải lặp lại tất cả các giá trị cho mỗi plist? Hoặc có lẽ nó có thể có giá trị của một khóa trong plist chính động kết hợp với một từ plist cấu hình? – farski

+0

Có, tạo cài đặt xây dựng do người dùng xác định, sau đó dựa trên cấu hình bạn đang xây dựng, sử dụng giá trị đó. – ganders

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