簡體   English   中英

我可以在XCode中保留一個項目,但是可以為Mac OS X,Apple Mac Store和iOS設備構建它嗎?

[英]Can I keep one project in XCode but build it for Mac OS X, Apple Mac Store and iOS device(s)?

我注意到這里對每個平台有不同的要求。 我想知道是否可以構建單個項目但是有多個目標,其中每個目標是Mac OS X(類似於CD /安裝版本),Apple Mac Store和iOS設備。

如果我以錯誤的方式解決這個問題,那么我很想知道! 我主要是在PC上開發,但隨着App Store的狀態,我希望盡可能多地展開!

為Mac應用商店和獨立分發的Mac應用程序保留單獨的目標很簡單。 您只需要確保收據驗證碼有條件地包含在應用商店目標中,而不是在其他目標中; 並且您的自定義許可方案包含在另一方面。 如果你在兩個目標中定位不同的操作系統,事情會變得復雜一些,但它們並非不可克服:你可以在運行時測試類或選擇器的存在,以確保你永遠不會在舊系統上調用更新的API。

順便說一下,為這些目標提供單獨的Info.plist文件也是值得的。 部分原因是您不需要或想要在應用商店目標中包含Sparkle屬性等內容,還因為每個目標都應具有唯一的包標識符。 如果您安裝了一個應用程序商店,它認為它來自商店但實際上並沒有這樣做,並且您不希望冒險更新程序或Apple嘗試更新通過其他機制部署的應用程序。 但這並不是關於組織Xcode項目,而是部署問題。

多半是對的。 所有Mac / iOS應用程序都可以用Objective-C編寫,代碼非常相似。 但是,您必須記住,iOS設備的屏幕尺寸與Mac不同,甚至相互之間也不同。 這意味着輸入隱喻是不同的,並且UI是不同的。 雖然可以做你想做的事情,但不建議只編碼一次並編譯三次。

也就是說,我不使用Xcode 4,所以我無法告訴你這一點。 如果您希望為不同的設備執行不同的構建,則需要盡可能單獨編寫應用程序邏輯和輸入邏輯。 然后,您創建多個目標,每個目標一個。 您為每個目標定義編譯器標志。 在您的代碼中,您將使用這些標志為您的構建使用適當的代碼。

至少從3.2.5開始,這絕對不是問題。 您不一定能夠在項目范圍內應用所有構建設置,但可以按目標指定它們。 只需添加適當類型的目標(Cocoa Touch,Cocoa等)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM