我在App Store中有一个针对iOS 5的应用程序,可以在iOS 6甚至iOS 7中正确运行,但是现在,我想添加一个新功能(只有一个带控制器的新视图)。 / p>
问题出现在这里:如果我使用Xcode 5编译代码,它看起来很尴尬,顶级状态栏消失,甚至一些视图停止工作。
我知道这个应用程序需要从Zero for iOS 7重写,但与此同时,有没有办法让它像之前一样工作?
我可以以某种方式下载以前的SDK,在这种情况下,我是否可以将应用程序更新到App Store?
答案 0 :(得分:0)
您需要将6.1 SDK从较旧版本的Xcode复制到您现在拥有的Xcode.app中,然后在构建设置中专门选择6.1 SDK。
对于设备,这是/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk
,对于模拟器,它是/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk
。路径是一样的。
答案 1 :(得分:0)
只需从开发者页面下载Xcode 4.6,并将其与Xcode 5并行使用。
但你真的不需要重写任何东西......
只需使用以下代码为UIViewController
创建一个子类,然后使用默认值。
- (void) viewDidLoad{
#if __IPHONE_7_0
if ([self respondsToSelector:@selector(setEdgesForExtendedLayout:)]) {
[self setEdgesForExtendedLayout:UIRectEdgeNone];
}
#endif
}
另外请不要忘记,所有UINavigationController
在7及以上都是半透明的而不是半透明的。