UI进阶之常见文件

一、 项目中的常见文件
      ** XxxxTest文件夹用来做单元测试。

      ** Products目录。
         * 在Mac程序下,生产的可执行文件app会存放到该目录下。
         * iOS程序时ipa。这个目录对于iOS程序来说意义不大。

        1. info.plist(全局配置文件, 非常重要, 不能删除 ):
               * 在xcode5 中是"项目名称-Info.plist"表示项目的全局配置文件,非常重要。在旧版本xcode中(和xcode6.1),该文件名称就叫Info.plist。

               ** 注意:自己创建的plist文件中不要包含Info关键字。

               * Info.plist中的一些配置项:
                   1> Bundle display name(在xcode6.1中叫做"Bundle name"), 表示软件安装到手机上后,显示的名称。
                        ** 当修改了该名称后,为了保证有效, 点击Product -> Clean, 同时将软件从模拟器中卸载掉,然后再重新运行。

                   2> Bundle identifier, app的唯一标识。

                   3> Bundle version, 每次发布软件的版本号。每次向AppStore上传的同一个软件, 新的版本号必须大于旧的, 否则无法上传。

                   4> Main storyboard file base name, 对应的就是选中"项目" -> "General" -> "Deployment Info" -> "Main Interface" 中的设置。

                   5> Supported interface orientations, 标识设备所支持的方向。对应的选中"项目" -> "General" -> "Deployment Info" -> "Device Orientation"。iPhone只支持三种方向, 不支持上下旋转(iPad支持)。Portrait(竖屏)、Landscape Left(横屏向左)、Landscape Right(横屏向右)。

                   6> Info.plist就是一个xml文件, 用记事本打开看一下。

2>pch文件

 * 遇到的问题:
                           1> 整个项目中很多地方都在使用某个类的头文件。

                           2> 整个项目中很多地方都在使用同一个"宏"

                           3> 在项目中很多地方用到了NSLog()函数, 想一下子全都清除掉。

               * 解决上面的问题, 可以通过使用PCH文件(Prefix Header File)。

               * pch文件就是一个头文件(类似于*.h文件)。

               ** 注意: PCH文件的特点, 项目中的所有其他代码文件无需显示导入该PCH文件, 默认就都可以访问(其他文件无需手动#import该文件)。
                   /**
                    参考代码:
                    // 假设在整个项目中有多个地方在使用Person类, 那么可以在每个使用到Person类的地方都#import "Person.h", 或者把#import "Person.h"放到pch文件中。

                    */

               * 主要作用:
                   1> 可以放一些公用的宏定义。

                   2> 把公共的Model类的#import导入写到pch文件中。

                   3> 自定义NSLog()。例如: #define SteveZLog(...) NSLog(__VA_ARGS__)

               ** 遇到的问题: 在项目中很多地方用到了NSLog()函数, 想一下子全都清除掉。

代码:

 #ifdef DEBUG
 #define SteveZLog(...) NSLog(__VA_ARGS__)
 #else
 #define SteveZLog(...)
#endif
补充, 程序开发阶段分为:
                1. 调试阶段, 写代码、调错误,需要使用NSLog()。同时在调试阶段系统会自定义一个叫做DEBUG的宏。

                2. 发布阶段, 写好的代码生成ipa等压缩文件, 上传到AppStore, 安装到用户设备上, 不需要NSLog()。 同时系同会自动删除叫做DEBUG的宏。

                3. 综上所述, 我们可以如下自定义一个NSLog():

                #ifdef DEBUG
                #define SteveZLog(...) NSLog(__VA_ARGS__)
                #else
                #define SteveZLog(...)
                #endif
所有与OC相关的宏定义都要写在:
                    #ifdef __OBJC__
                    #endif
                里面, 因为写在这个if中的所有内容只有OC代码才可以使用, 当在项目中新建了一个.c文件是不可以使用的(不使用就不会报错), 否则如果写在了外面,新建一个.c的程序也能使用,就报错了。比如C语言中没有#import, 只有#include <xx.h>

                     // 判断如果是OC文件才引入这些宏, 如果是普通C语言文件则不引入。否则当在项目中添加C语言文件时报错。
                     #ifdef __OBJC__

                         #define ABC 10

                         #import "Person.h"

                         #ifdef DEBUG
                         #define SteveZLog(...) NSLog(__VA_ARGS__)
                         #else
                         #define SteveZLog(...)

                     #endif

                     #endif

         */

特别注意:

* 在xcode6.1中, 默认没有创建pch文件。
                   ** 需要自己新建一个

                   ** 创建方式: 选择"Supporting Files" -> 右键 -> "New File" -> "Other" -> "PCH File" -> "PrefixHeader.pch"。

                * 在该文件中定义如下宏:
                    **  #define ABC 10

                * 选中项目 -> Build Setting -> All -> 搜索"prefix head" -> 修改Prefix Header的内容为:
                    ** "$(SRCROOT)/$(PRODUCT_NAME)/PrefixHeader.pch"
                    ** 或者
                    ** "$(SRCROOT)/对应的文件夹名/PrefixHeader.pch"
                    ** 参考连接: http://www.cnblogs.com/YouXianMing/p/3989155.h
时间: 2024-10-13 07:54:39

UI进阶之常见文件的相关文章

UI进阶 解析XML文件的两种方式 SAX和DOM

1.数据解析 解析的基本概念 所谓“解析”:从事先规定好的格式中提取数据 解析的前提:提前约定好格式,数据提供方按照格式提供数据.数据获取方则按照格式获取数据 iOS开发常见的解析:XML解析.JSON解析 2.XML数据结构 XML:Extensible Markup language(可扩展标记语言),主流数据格式之一,可以用来存储和传输数据. XML数据格式的功能 数据交换 内容管理 用作配置文件 XML数据结构的语法 声明 节点使用一对标签表示:起始和结束标签. 根节点是起始节点,只有一

UI进阶 数据处理之文件读写

一.沙盒机制(SandBox) 什么是沙盒:每个iOS应用程序都会为自己创建一个文件系统目录(文件夹),这个独立.封闭.安全的空间,叫做沙盒.(1)独立:每个应用程序都有自己的沙盒,这个沙盒文件只能自己使用(2)封闭:应用程序一般只能使用自己的沙盒(了解:在iOS8.0之后可以访问跨应用之间沙盒的部分文件)(3)安全:每个沙盒的内容,如果进行修改必须进行授权 沙盒是一种安全体系,它规定了应用程序只能在为该应用程序创建的文件夹(沙盒)内访问文件,不可以访问其他沙盒内的内容(iOS8.0已经部分开放

UI进阶 XML解析适配 引入GDataXML文件时候 &#39;libxml/tree.h&#39;file not found 错误解决办法

在工程的"Build Settings"页中找到"Header Search Path"项,添加"/usr/include/libxml2". 在"Other Linker Flags"项,添加"-lxml2" 同理引入别的类型文件不匹配的时候也可以用这种方法 UI进阶 XML解析适配 引入GDataXML文件时候 'libxml/tree.h'file not found 错误解决办法

IOS之--UI进阶-- 多控制器管理第一天

 iOS之--UI进阶-- 多控制器管理第一天 01-项目中常见的文件(LaunchScreen) Xcode5 框架是苹果事先已经导入进去的.在项目的结构当中就能够看到导入的框架. Xcode6 会自动导入一些觉见的框架.在项目结构当中,看不到已经导入的框架. LaunchScreen.xib:用来设置启动界面. Xcode7 会自动导入一些觉见的框架.在项目结构当中,看不到已经导入的框架. LaunchScreen.storyBoard LaunchScreen原理: 会自动加载Launch

UI进阶 即时通讯之XMPP好友列表、添加好友、获取会话内容、简单聊天

这篇博客的代码是直接在上篇博客的基础上增加的,先给出部分代码,最后会给出能实现简单功能的完整代码. UI进阶 即时通讯之XMPP登录.注册 1.好友列表 初始化好友花名册 1 #pragma mark - 管理好友 2 // 获取管理好友的单例对象 3 XMPPRosterCoreDataStorage *rosterStorage = [XMPPRosterCoreDataStorage sharedInstance]; 4 // 用管理好友的单例对象初始化Roster花名册 5 // 好友操

android UI进阶之实现listview的分页加载

 分享了下拉刷新,这是一个用户体验非常好的操作方式.新浪微薄就是使用这种方式的典型. 还有个问题,当用户从网络上读取微薄的时候,如果一下子全部加载用户未读的微薄这将耗费比较长的时间,造成不好的用户体验,同时一屏的内容也不足以显示如此多的内容.这时候,我们就需要用到另一个功能,那就是listview的分页了.通过分页分次加载数据,用户看多少就去加载多少. 通常这也分为两种方式,一种是设置一个按钮,用户点击即加载.另一种是当用户滑动到底部时自动加载.今天我就和大家分享一下这个功能的实现. 首先,

Android UI之原生——(1)、Android UI入门及常见属性与现象

Android UI之原生--(1).Android UI入门及常见属性与现象 导读 :Android UI入门,对于很多人来讲都是比较简单的,教程也多如牛毛,但是这篇绝对和其他的不一样.从接触android开发就注定UI开发是一个一直需要研究的课题,简单的原生UI使用可能你已经掌握,也可能发现某些组件有着一些不爽,但是只要你搞懂原因,就可以了.实在觉得用着不爽,那么就让自己的UI开发能力变强,然后自己写个好点的.android UI开发需要先学会使用原生UI,然后在学会使用开源UI,最后才是自

iOS之多控制器管理--项目中的常见文件

*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } a { color: #4183C4; } a.absent { color: #cc0000; } a.anchor { display: block; padding-left: 30px; margin-left: -30px; cursor: pointer; position: absolute

2015/10/6 iOS 笔记 细节 应用中常见文件

1,工程名-info.plist文件 bundle display name 应用显示的名称(10到12个字符,超过显示...) bundle identifier  应用的唯一标识 com.xx.hhxx bundle version 软件版本号 supported interface orientation 屏幕旋转 默认支持三种模式 2,应用中常见文件 工程名-Prefix.pch (新版没有这个文件了) pch头文件的内容能被项目中得其他所有源文件共享和访问 一般在pch头文件中定义一些