这两天做了一个小小项目,之前都是同事建好工程,放到bitbucket上面,然后我再pull下来的。这次因为是小工程,就给我自己搞了,遇到不少坑。说一下大概流程吧。
先是建一个“Podfile”文件,这是在之前的工程复制过来的,加到工程后,在终端执行命令“pod install”。第一个坑,应该是网络问题,我pod了半天,没反应,然后删了工程,从头开始,还是如此,后来几经波折,等了半天,终于把一些第三方库pod下来了。
然后是建一个预编译文件(详细见 http://blog.csdn.net/crazyzhang1990/article/details/44243343 )。这个就不能直接复制粘贴了,不难,但有点琐碎,参照上面的博客一步步来吧。
有了这两个文件,一个工程,基本上就建好了,当然,这是在本地的工程文件,如果是要多人开发,就需要利用bitbucket的远程仓库了,下篇博客我要捋一捋如何利用bitbucket建仓库,实现多人开发。
中间的工程怎么写就不说了,这只是一个小工程,加了两个webview而已。但这里也有一个坑,就是要改一改“info.plist”文件的网络加载设置,这貌似从Xcode7开始就要修改的了,我一开始忘了,捣鼓了半天没数据,郁闷死了,后来才想起。加了这两行之后就能加载网络数据了。
然后就是修改应用名字,添加工程的icon,launchImage,还有第一次启动的引导图。一个一个来。
改应用名字,同样是在info.plist文件中添加一行“Bundle display name”,然后在它后面写上你要修改的名字就行了。
添加icon,这时候,看需求而定,看需不需要iPad版,这就需要美工准备多套图了。单有时候你会发现,有些icon没有也是没有影响的,貌似系统会给你自动补全一些。
设置启动页LaunchImage,要做适配,也需要4个尺寸的图片,对应的是4s,5,6,6plus。
正常情况下直接如上图所示,把图片加到LaunchImage里面就可以了,还有要在“General”那里设置一下,详细看设置启动页。但有些项目有特殊要求,则需要另建一个“LaunchViewController”,并通过下面的代码,获取LaunchImage。工程默认会把icon跟LaunchImage的图片另外存放起来,放到一个字典数组里面,而且会自动匹配屏幕大小,通过
“NSArray* imageDict = [[[NSBundlemainBundle]infoDictionary]valueForKey:@"UILaunchImages"];”
可以拿出不同尺寸的图片数组。
设置引导页,引导页一般有多页,每页有一张全屏的图片,下面有几个UIPageControl,正常的解决思路应该是,这是一个scrollView,scrollView上有n张跟屏幕一样大小的图片。上面还有一个pageControl的view。这些全屏的图片,也是需要UI准备多套的,跟launchimage一样,也是4套。貌似系统没有像LaunchImage一样给引导页特殊的待遇,也就是没有自动匹配屏幕,所以只能用最笨的方法:给每套图的每张图片一个不一样的命名,然后根据设备的宽度去选择加载不同的图片。(如果你有更好方法请私下发简信给我0.0)话不多说,上代码:
根据屏幕尺寸,拼写图片名称,选择加载的图片。当然,引导页是要另外有一个“GUI的ViewController”的,而这个controller的显示,是由“pageFlowManager”管理的,工程有一个叫做“hasLaunched”的布尔属性,默认值是"NO",当工程在设备上运行一次后,就会被设为“YES”,并利用“UserDeafult”保存到本地,每次打开应用,判断到“hasLaunched”值为“YES”,则不再进入引导页的controller。这就涉及到一个账号管理系统。我前一篇有写,但有点粗糙。0.0
至此,一个完整的应用,应该就完成了,然后就应该将工程打包一个“ipa”文件,发给甲方测试,或者提交应用市场审核。详细的打包流程。参考博客。