公司之前的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. java中HashMap的用法

    重点介绍HashMap.首先介绍一下什么是Map.在数组中我们是通过数组下标来对其内容索引的,而在Map中我们通过对象来对对象进行索引,用来索引的对象叫做key,其对应的对象叫做value.在下文中会 ...

  2. node.js 包教不包会 (Windows版详解)

    针对@alsotang 的新手入门教程 https://github.com/alsotang/node-lessons ,详解该教程在Windows中的实践,包括博主在实践过程中遇到的问题及解决方案 ...

  3. C# 中DataGridView 绑定List<T>做数据源的操作问题

    若想将 List<T>作为DataGridView的数据源,然后后续还想继续操作的话,需要将List<T>赋值给BindingList对象, 然后直接将BindingList赋 ...

  4. 在ax中怎么对enum类型循环取其中每一个值

    static void test(Args _args) { DictEnum dictEnum; int i,nextPos; EnumId enumId; ; enumId = EnumNum(S ...

  5. 在centos上安装mysql5.7的三种方法

    带OS信息的是已编译的二进制文件,不带OS信息的是源码包 mysql-5.7.14-linux-glibc2.5-x86_64.tar.gz 二进制包 mysql-5.5.51.tar.gz 源码包 ...

  6. Jsp servlet 值传递。。

    先新建一个动态WEB项目. 展开WebRoot/index.jsp 1 <%@ page language="java" import="java.util.*&q ...

  7. leetcode 9

    判断一个数是否为回文数,不利用额外的空间. 思路:将数反转后进行比较. 注意:反转之后数越界的判断,若越界,则不是回文数:负数不是回文数: 代码如下: class Solution { public: ...

  8. ctags对部分目录生成tags

    最近在研究Tiny6410上的uboot移植,看uboot源码时,生成tags文件用的是最粗暴的方法:“ctags -R *”,由于某些函数在各个平台下都有实现,导致在用“g+]”跳转到该函数的定义时 ...

  9. CentOS编译安装lamp

    LAMP环境搭建(编译安装CentOS+httpd2.2+mysql5.5+php5.4) 首先准备以下压缩包 <ignore_js_op> (1)编译安装apache 1.配置防火墙,开 ...

  10. ARC————自动引用计数

    一.内存管理/引用计数 1.引用计数式内存管理的方式(下面四种) 对象操作 OC方法 生成并持有对象 alloc/new/copy/mutableCopyd等方法 持有对象 retain方法 释放对象 ...