我遇到了Your binary is not optimized for iPhone 5
错误:
我尝试了其他问题中提出的每个解决方案,但没有任何效果。总结一下:
我在项目的根目录中有Default-568h@2x.png
大小为640×1136的图像,其中project_name.xcodeproj
是。{1}}。
根据一条建议,我将Default.png
(640×1136)和Default~iphone.png
(640×960)添加到同一目录。没工作。
我正在使用具有适当大小的资产目录。
这是最奇怪的部分:这是应用程序的1.1版本。我使用相同的。xcodeproj
使用相同的图像。它第一次验证没有问题,但现在没有。有任何想法吗?
答案 0 :(得分:2)
使用图像资产全局来控制图像是否正确,并查看是否有警告。
对于未来最好使用上一个Xcode故事板屏幕:
要以通用模式启用您的应用:
在自动布局模式下添加故事栏或使用StoryBorad。
要使用多个资料板,您可以在application didFinishLaunchingWithOptions
内的AppDelegate中使用它:
#pragma mark - Universal storyboard.
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone){
UIStoryboard *storyBoard;
CGSize result = [[UIScreen mainScreen] bounds].size;
CGFloat scale = [UIScreen mainScreen].scale;
result = CGSizeMake(result.width *scale, result.height *scale);
if(result.height <= 960){
storyBoard = [UIStoryboard storyboardWithName:@"iPhone4" bundle:nil];
UIViewController *initViewController = [storyBoard instantiateInitialViewController];
[self.window setRootViewController:initViewController];
}
}
您可以添加所有分辨率iPhone 4s / 5(s / c)6和6 Plus
在<AppName>-Prefix.pch
中定义所有这样的决议:
#define IsIphone5 ( fabs( ( double )[ [ UIScreen mainScreen ] bounds ].size.height - ( double )568 ) < DBL_EPSILON )
#define IsIphone4 ( fabs( ( double )[ [ UIScreen mainScreen ] bounds ].size.height - ( double )480 ) < DBL_EPSILON )
然后调用项目中的函数,例如iPhone 4/5和iPad的一个scrollview:
- (void)spiegaScroll{
if (IsIphone5){
CGRect scrollFrame;
scrollFrame.origin = myScroll.frame.origin;
scrollFrame.size = CGSizeMake(320, 568);
spiega.frame = scrollFrame;
[spiega setContentSize:CGSizeMake(320, 1100)];
myScroll.scrollEnabled = YES;
myScroll.pagingEnabled = NO;
myScroll.clipsToBounds = NO;
} else if (IsIphone4) {
CGRect scrollFrame;
scrollFrame.origin = myScroll.frame.origin;
scrollFrame.size = CGSizeMake(320, 480);
spiega.frame = scrollFrame;
[spiega setContentSize:CGSizeMake(320, 1100)];
myScroll.scrollEnabled = YES;
myScroll.pagingEnabled = NO;
myScroll.clipsToBounds = NO;
} else {
//the rest is iPad in this case
CGRect scrollFrame;
scrollFrame.origin = myScroll.frame.origin;
scrollFrame.size = CGSizeMake(768, 1024);
spiega.frame = scrollFrame;
[spiega setContentSize:CGSizeMake(768, 2094)];
myScroll.scrollEnabled = YES;
myScroll.pagingEnabled = NO;
myScroll.clipsToBounds = NO;
}
}
希望这对您现在或未来的应用程序有所帮助;)
答案 1 :(得分:1)
检查图像是否已添加到目标文件
答案 2 :(得分:0)
在plist文件中,在图标集字典中设置图像的值。
答案 3 :(得分:0)
有同样的问题。最后我找到了来自Iphone 5 Launch Image Problem
的解决方案请确保568h文件是PNG格式?还要确保为所有屏幕提供iphone 5支持吗?只添加Default-568h@2x.png不支持iphone 5支持。您必须检查iphone 3.5“和4”设备的所有视图的框架。
答案 4 :(得分:0)
好吧,看起来我升级到xCode 6后问题就消失了。应用程序验证没有问题。