2013-08-27 52 views
13

Có cách nào để đặt 'Số nhận dạng gói mục tiêu ứng dụng iOS' cho mỗi 'Cấu hình xây dựng' trong Xamarin không?Cấu hình xây dựng và Mã định danh gói

Trong XCode bạn có thể làm điều đó, có nghĩa là cùng một mã cơ sở có thể được biên dịch cho các khách hàng doanh nghiệp khác nhau (trường hợp của chúng tôi).

Xamarin Studio cho phép tạo 'Cấu hình xây dựng' và các cấu hình cấp phép khác nhau có thể được sử dụng trong mỗi cấu hình, tuy nhiên, dường như không có cách nào để đặt Id gói.

Vui lòng thông báo. Cảm ơn.

+2

Đối với bất kỳ ai muốn thêm tính năng này, tôi đã tạo mục nhập trong dịch vụ sử dụng của Xamarin: https://xamarin.uservoice.com/forums/144858-xamarin-suggestions/suggestions/4352734-allow-setting-the-bundle -identifier-per-build-conf. Phiếu bầu được hoan nghênh. – rufo

+0

Có một nhận xét lỗi về điều này tại đây: https://bugzilla.xamarin.com/show_bug.cgi?id=1118 Câu trả lời tôi có ở đây là: "Mục tiêu MSBuild dành cho iOS sắp hoàn thành - chúng sẽ chuyển part của Xamarin.iOS for iOS 8 "Tính năng mà bạn sau khi dựa vào các mục tiêu MSBuild đang được triển khai. – Justyn

+1

Cập nhật: ở trên trạng thái Lỗi cho biết hiện đã được giải quyết. Vì vậy, điều này "nên" bây giờ có sẵn? Tôi không thể nhìn thấy nó như của XS 8.9/VS Plugin, bất cứ ai khác có thể xác nhận điều này là bây giờ có sẵn? – WickedW

Trả lời

10

Không trực tiếp. Tuy nhiên, bạn có thể tạo các kịch bản lệnh dựng sẵn (hoặc đăng) các bước (xem Lệnh tùy chỉnh trong các tùy chọn dự án của bạn), điều này biết được những thứ khác cấu hình đang được xây dựng, tức là ${ProjectConfig}.

Từ tập lệnh, bạn có thể sử dụng công cụ, như PlistBuddy, để sửa đổi các giá trị tệp Info.plist.

+0

Ok. Tôi đoán đó là đủ - nó sẽ được tốt đẹp nếu nó là một tính năng trong IDE khó khăn. Cảm ơn. – rufo

+3

Hãy lắng nghe giọng nói của bạn @ https://xamarin.uservoice.com/forums/144858-xamarin-suggestions – poupou

+0

Xong, cảm ơn đề xuất. – rufo

1

Bạn có thể tạo và biến môi trường có chứa các bó id và thêm nó vào tập tin plist như một bước trước khi xây dựng, đây là những gì tôi đã làm trong dự án của tôi

if [ -n "$MY_BUNDLE_ID" ]; then 
    /usr/libexec/PlistBuddy -c "Set :CFBundleIdentifier $MY_BUNDLE_ID" ${PROJECT_DIR}/shell/shell-Info.plist 
fi 
0

Cho đến nay, vẫn không có cách trực tiếp để làm điều đó. Tạo bộ nhận dạng gói trong XCode và sử dụng nó trong dự án Xamarin của bạn.