关于适配ios8、iPhone6、iphone plus以及资源优化相关问题

来源:互联网 发布:新概念英语软件下载 编辑:程序博客网 时间:2024/05/16 04:50

转自:http://blog.sina.com.cn/s/blog_64b4f5430102v45p.html

Coco2d版本:3.1.0.
Xcode:6.0.1

一、ios7及之前版本,universal程序准备3套资源:普清(320×480)、高清(1136×768)、ipadhd(2048×1536)。其中,iPhone 4、iphone5、ipad普清(1024×768)使用同一套资源。即背景图使用1136×768,资源图完全相同,针对ipad,使用如下代码:

      if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) { //只针对ipad使用该资源

        [[CCFileUtils sharedFileUtils]setiPadSuffix:@"-hd"];//ipad使用-hd资源

    }


二、针对ios8的适配

   主要是Icon和launch image的操作。

 

在xcode工程中,command + N,——> iOS——》resource——》Asset Catalog。新建这样一个文件。

然后,在这个新建的xcassets文件中,在其左侧栏右键,点击new app icon会产生一个APPIcon文件夹;new launch image,会新建1个LaunchImage文件夹。


    这2个文件夹内就是你所需要提供的icon和launch image了。把你做好的icon和launch image放进这2个文件夹,鼠标拖曳到相应的栏位即可。


     具体参数见:http://www.cocoachina.com/bbs/read.php?tid=229352&page=1


三、iphone6、iPhone6 plus的资源使用


1、iPhone6的图片资源使用同iPhone5、iPhone4,坐标调整最好使用autolayout.

   -hd高清资源的背景图统一调整为:1334×768,iPhone4、5、6以及非Retina的ipad都用这种尺寸的背景图。其余-hd的assets图片资源不变,继续沿用即可。


2、iPhone6 plus图片资源使用ipadhd的资源。


具体操作:(1)在CCCConfiguration.m中,找到如下方法:-(NSInteger) runningDevice。

在此方法中找到这一行:ret = isiPhone5 ? CCDeviceiPhone5 : CCDeviceiPhone;


在这一行之下,if条件之外另起一行,写入:


if ([UIScreen mainScreen].scale == 3.0f) { //iPhone6 plus的特征

            ret = CCDeviceiPhoneRetinaDisplay;

 

}//end if


这几行代码可以让iPhone6 plus使用“-hd”高清资源。


(2)在appdelegate.m中,applicationdidfinishlaunching中,加入:


 if (DEVICE_IS_IPHONE6Plus) {

if((UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) && ([CCDirector sharedDirector].contentScaleFactor == 3))

        {

            [CCDirector sharedDirector].contentScaleFactor = ([CCDirector sharedDirector].viewSizeInPixels.width/1024);

 

        }


        [[CCFileUtils sharedFileUtils]setiPhoneRetinaDisplaySuffix:@"-ipadhd"];//iphone6 plus使用-ipadhd资源

  }


(3)自行调节坐标,以适应iPhone6 plus就可以了。


四、图标icon上又出现了玻璃高光


在工程中选择包含icon和launch image的images.xcassets文件夹,选择Appicon,打开右侧边栏,勾选“iOS icon is pre-rendered”即可,如下:

关于适配ios8、iPhone6、iphone <wbr>plus以及资源优化相关问题



五、更新版本在iTunesconnect中上传截图,规格尺寸都对,就是上传失败,出现如下提示:

One or more screenshots are in the wrong size. For more information, see the Developer Guide.


原因:上传的是ios模拟器自动生成的截图,截图命名中有汉字。把截图用简短的英文重命名即可。



六、上传更新版本的app

出现如下问题:

关于适配ios8、iPhone6、iphone <wbr>plus以及资源优化相关问题
原因:

工程中asset catalog里面,APPIcon中有个carplay图标是120×120的,这个图标不应该加上,将其删除,再次上传就ok了。


下面那个黄色警告可以无视。


0 0