公司之前的APP呢经过了两次重写,都是使用OC由本人独立开发的,不过这些东西我都不好意思说是自己写的,真心的一个字:丑!!! 客观原因来说主要是公司要的特别急,而且注重的是功能而非效果,公司的美工之前也没做过APP之类的工作;但是从主观方面来说还是对自己的要求有些低了,所以,这两天思考许久,打算在公司的事情不多的闲暇点的时间学习写Swift,顺带把之前的项目再次重写一下.

闲话不说了,先创建一个swift的项目

创建完毕之后,退出程序,因为我们这里使用cocoapod来管理项目,至于cocoapod如何安装以及使用,这个不是本文的范围之类,大家百度即可.

在终端键入pod install等待pod安装完毕第三方类库以及配置好参数之后,我们ComeAndGoSwift.xcworkspace来打开项目,否则可能造成编译报错..

然后本人的重点来了,如何设置项icon与launchImage

① 首先我们说一下icon,其实一个完整的项目icon需要很多,这个至于需要哪些看客们可以去百度了解,我这里直接说最简单的方法,请大家访问https://github.com/rickytan/RTImageAssets 来下载这个Xcode插件,然后运行此程序,再重启Xcode,一般情况下的xcode插件都是这么安装的,但是现在由于升级到Xcode7.1之后,只这样做是不够的,还无法使用插件,那么如何解决呢,这里转摘一下(http://blog.csdn.net/oiken/article/details/49123365这篇博文的方法,这兄弟好像也是转来的),他的方法是:

1.打开xcode插件所在的目录:
~/{当前用户名}/library/Application Support/Developer/Shared/Xcode/Plug-ins
2.选择已经安装的插件例如VVDocument,右键点击“打开包内容”,
3.找到info.plist 文件,找到DVTPlugInCompatibilityUUIDs的项目,
4.添加C4A681B0-4A26-480E-93EC-1218098B9AA0(当前xcode的一个号码),这个号码怎么得到?
 在终端执行 defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID 即可
5.再右键“打开包内容”双击contents\MacOS目录下的一个黑色图标,会打开终端窗口,最后打印“进程已完成”之类,重启xcode
 
但是根据我操作来看,第一步的当前用户名貌似不用 第三四步中其实我自己的电脑上Plist文件里的号码已经存在,大家根据自己情况来,所以基本上我觉得有效的估计也就第五部,运行一下那个目录下的黑色图标..
当运行完毕之后,重启Xcode,你会发现在顶部菜单的File目录可以找到这个菜单:ImageAsset,在他的子菜单中选择AppIcons,点击运行,出现一个窗口,然后拖进去一个1024*1024的图片(你的APP的Icon图片) 然后点击右上角的Generate,你会发现,你的项目中的icon目录下多了好多的图片.至此你的AppIcon已经设定完毕..
 
② 然后我们需要设置转场动画了,这个其实有两种方法,在iOS8及以后可以使用系统默认生成的LaunchScreen.storyboard文件利用sizeclass方案来做,但是这种方式在iOS8之前是无效的...还有另外一种方法是比较老的方法,也就是LaunchImage的方式来做...
   我这个项目需要做的是iOS7及之后的适配,所以我需要放入的图片格式就是下面图中列举的五种分辨率:
  
    当你把图片按照位置放好后 ,运行项目,但是你会郁闷的发现,貌似这些图片没有出现啊,那么如何解决呢,请看以下步骤:
  
  图中的1 2 是需要大家设置的,把Launch Images Source设置为你之前创建或者系统默认生成的装5张图片的那个文件夹的名称,你甚至可以点击一下后面的小灰点看看是否定位到你的目录去,然后把Launch Screen File清空,默认的一般还会是那个xib文件..至此,再运行程序应该就可以看到你们那可爱的LaunchImage图片了...当然在有些时候,转场图片消失太快,在进入程序首页的间隙会有白色的屏幕出现,这样用户感官不好,那么,此时我们可以在程序的第一个控制器中写上如下代码:
 
OK,明天接着来..此篇到此为止
预告:明天主要着手在使用Swift如何调用OC的类库,也就是如何搞定bridge文件,还有就是由于此项目是基于百度地图的一个应用,所以,还有会百度地图相关的一些内容.

用Swift重写公司OC项目(Day1)--程序的AppIcon与LaunchImage如何设置的更多相关文章

  1. 用Swift重写公司OC项目(Day2)--创建OC与Swift的桥接文件,进而调用OC类库

    昨天把项目中的图标以及启动转场图片弄好了,那么今天,我们可以开始慢慢进入到程序的编写当中了. 由于swift较新,所以类库还不够完善,但是不用担心,苹果早就出了解决方案,那就是使用桥接文件,通过桥接文 ...

  2. 在OC项目工程中混编Swift

    1.创建一个OC项目工程,然后在Build Settings中找到如下字段,修改. 2.然后在项目中创建swift文件,如果系统提示是否需要创建桥接文件的时候,点击确定. 然后在Build Setti ...

  3. 关于OC和Swift使用GIT创建项目

    1.先进入码云,点击自己的头像 ->   ,2.里面有一个SSH公钥,点击   ,3.之后在终端输入 ssh-keygen -t rsa -C “xxxxx@xxx.com”,注意:”” 要用英 ...

  4. 在Swift项目中使用OC,在OC项目中使用Swift

    几天前,我开始新的App的开发了.终于有机会把swift用在实战中了,也学到了之前纯学语法时没有机会获得的知识. 这篇博文中,我就如何使用swift.OC混编做一个介绍. OC中使用Swift 首先, ...

  5. OC项目加入swift第三方库遇到的坑

    https://www.jianshu.com/p/96d868dcd69c 2017.07.07 16:23* 字数 295 阅读 5218评论 2喜欢 4 首先,在OC项目的Podfile文件中添 ...

  6. OC项目中使用Swift

    1.在OC工程中新建 Swift 文件,会提示的是否创建一个桥接文件,创建不创建都无所谓,这个桥接文件主要是用来包含OC头文件的,主要用于Swift中使用OC         2.在Person.sw ...

  7. 图解使用VS的安装项目打包程序

    背景 这段时间一直在做客户端程序的打包程序,遇到各种坑.因为以前没有任何这方面的经验,历经各种折腾,费尽九牛二虎之力总算是完成了. 虽然没有太多技术含量,但是因为挺繁琐的,所以还是在此记录一下. 由于 ...

  8. 将React Native 集成进现有OC项目中(过程记录) 、jsCodeLocation 生成方式总结

    将RN集成到现有OC项目应该是最常见的,特别是已经有OC项目的,不太可能会去专门搞个纯RN的项目.又因为RN不同版本,引用的依赖可能不尽相同,所以特别说明下,本文参考的文档是React Native ...

  9. Swift & Objc 在同一个项目中的使用

    在WWDC大会中发布了Swift让人眼前一亮.终于加了很多的现代编程语言该有的东西.很早年以前玩C#3.0+的时候这些差不多类似的 已经用的烂熟的东西终于一点一点的在看Swift Programmin ...

随机推荐

  1. shell脚本循环执行mysql语句

    参考资料:Shell脚本中执行mysql语句 需求:数据库里有张数据表存储的是用户对电影的评价(user_id movie_id rating time),但是我现在要每部电影的总评分. 解决方法: ...

  2. [drp 4] 使用dom4j,读取XML数据,保存至数据库

    导读:上篇文章介绍了用XML文件配置数据库的连接,然后通过读取XML文件连接数据库的内容,本篇博客介绍读取XML文件,进行数据持久化的操作.PS:从某种意义上来说,经过Scheme校正的XML文件,本 ...

  3. poj1006_Biorhythms

    英语真差劲啊,看题目没看明白,无奈重新开始手抄题目,突然发现一句话 “For each cycle,you will be given the number of days form the begi ...

  4. 021ARM处理器工作模式

    1.User模式:usr,普通应用程序运行的模式: 2.FIQ模式:fiq,快速中断模式,当一个程序正在运行时,突然产生一个中断,而且这种中断属于快速中断,那么将进入快速中断模式下运行: 3.IRQ模 ...

  5. 2搭建Android开发环境

    这一章主要是讲解如何搭建Android开发环境,需要准备的工具有: (1)   JDK6或以上的版本: (2)   Eclipse (3)   ADT(用于开发Android应用程序) (4)   C ...

  6. C#时间处理--DateTime和TimeSpan

    DateTime dt = DateTime.Now; dt.ToString();//2005-11-5 13:21:25 dt.ToFileTime().ToString();//12775641 ...

  7. projecteuler Sum square difference

    The sum of the squares of the first ten natural numbers is, 12 + 22 + ... + 102 = 385 The square of ...

  8. javaSE第二十三天

    第二十三天    338 1.进程和线程的概述    338 2.多线程(理解)    339 (1)多线程:一个应用程序有多条执行路径    339 (2)Java程序的运行原理及JVM的启动是多线 ...

  9. Java Swing打猎射击游戏源码

    代码如下 <font size="3">package Game; import java.awt.Graphics; import java.awt.Image; i ...

  10. mysql触发器关联表更新

    mysql> create table voteItem -> ( -> id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, -> titl ...