我們現在有一個iOS應用程序在售,我們正在使用相同的代碼庫在XCode 5 DP上開發iOS 7版本。編寫針對iOS 6編譯的iOS7代碼Base SDK
我們現在確實需要爲現有iOS 5/6客戶發佈更新,當然,當我們將項目重新加載到XCode 4中時,它會抱怨不存在的屬性,因爲基本SDK會變成iOS6不是7:
// Only run this bit on iOS 7
if ([self respondsToSelector:@selector(setFooForExtendedLayout:)])
{
self.fooForExtendedLayout = UIFooEdgeLeft | UIFooEdgeRight;
}
float bottomOffset = 0;
// Only run this bit on iOS 7, else leave bottomOffset as 0
if ([self.hostController respondsToSelector:@selector(bottomLayoutFoo)])
bottomOffset = self.hostController.bottomLayoutFoo.length;
(模糊處理,以避免破壞NDA)
的XCode錯誤:
的對象未找到住宅 'fooForExtendedLayout' 不是類型的對象中找到0 '的UIViewController *'
使用未聲明的標識符的 'UIFooEdgeLeft'
使用未聲明的標識符 'UIFooEdgeRight'
住宅 'bottomLayoutFoo' 的上型 '的UIViewController *'
註釋掉這個新代碼會很痛苦。重寫它與新舊Base SDK兼容的正確方法是什麼?並且現在提交它(通過XCode 4並針對iOS 6 SDK構建)會面臨任何類型的App Store拒絕?
這正是我一直在尋找,謝謝。感謝您回答問題的其他部分,即分享您對此的保留意見。 –
不客氣:) – Macmade