2012-02-27 38 views
7

Tôi đang sử dụng SDK testflightapp.com trong dự án của mình để theo dõi sự cố trong khi thử nghiệm beta được thực hiện trên testflightapp.com. Tôi có 2 mục tiêu trong dự án Xcode của tôi, đó là "ad-hoc" và "app store".Làm cách nào để biên dịch có điều kiện dựa trên tên mục tiêu?

Để bắt đầu SDK testflight, tôi cần phải đặt xuống một dòng mã trong AppDelegate.m như:

[TestFlight takeOff:@"67bebb8d8e5396a...A4LjQwNjQ4NA"]; 

Bây giờ, tôi muốn trình biên dịch để loại trừ dòng mã này khi tôi biên dịch cho mục tiêu "cửa hàng ứng dụng", bởi vì nó không có ý nghĩa để kích hoạt SDK testflight khi nó được công khai.

Tôi đang mong đợi một cái gì đó như #ifdef, nhưng tôi không thể có được một đầu mối bằng cách tìm kiếm trên diễn đàn.

Trả lời

10

Bạn có thể sử dụng user-defined build setting mà bạn đã đặt trong cài đặt bản dựng cho từng mục tiêu và sau đó sử dụng chỉ thị #if hoặc #ifdef để kiểm tra cài đặt đó. Ví dụ: chọn mục tiêu 'ad-hoc' của bạn, nhấp vào 'Build Settings' và cuộn xuống phần 'User-Defined'. Sau đó, chỉ cần nhấp vào nút 'Thêm Cài đặt Xây dựng' và chọn 'Thêm Cài đặt do Người dùng Xác định'. Bạn có thể đặt các giá trị khác nhau cho cài đặt của mình cho mỗi cấu hình xây dựng (gỡ lỗi, phát hành, v.v.).

Picture of relevant Xcode settings

+1

hey, cảm ơn câu trả lời nhanh. Tôi không thể tìm thấy "thiết lập do người dùng xác định" mà bạn đã đề cập, tuy nhiên, tôi đã tìm thấy "Preprocessor Marcros" (có DEBUG = 1 được định nghĩa để gỡ lỗi, vì vậy tôi đã xác định TESTFLIGHT = 1) có thể đáp ứng nhu cầu của tôi. CẢM ƠN BẠN! –

+0

Đã thêm hình ảnh để minh họa cài đặt xây dựng do người dùng xác định. – Caleb

+0

vâng, tôi là ngu ngốc ngu ngốc, tôi đã thử tìm kiếm với "người dùng" mà hóa ra không có gì. okay, đó là một phần, nhờ –

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