zoukankan      html  css  js  c++  java
  • (三十三)Xcode项目的重要工程文件

    1.Supporting files内有一个Xxx-Info.plist文件(旧版本Xcode的配置文件叫Info.plist)。因此自定义的plist不要带Info关键词。

    这个plist是系统的全局配置,不能删除。

    Bundle display name是软件的名称,需要注意的是修改完软件名称要先Clean工程,然后卸载原来的App再运行。

    InfoDictionary version是版本号,用于发布程序,每次更新的版本号必须比原来的大。

    Main storyboard file base name是最主要的storyboard,也可以在BuildSettings里面改,其实BuildSettings里面改的就是plist。(真实名称是有CF前缀的)。

    Supported interface orientations是旋转方式。


    2.pch文件:其中的内容能被项目中的其他源文件共享和访问。

    1.因此可以在内部写一些全局的宏,项目中的其他文件不必包含就可使用。

    2.如果整个项目都用某个模型,可以在pch中引入这个模型的头文件。

    3.可以开启或者关闭全局的日志输出(通过#define定义新的日志输出函数,发布的时候可以让它为空)。

    将NSLog重新定义:__VA_ARGS__是代替...的专用写法,注意两侧的双划线。...代表可以传入无数个参数。

    #define MyLog(...) NSLog(__VA_ARGS__)

    直接通过Xcode运行的代码,系统会自动定义一个叫DEBUG的宏,因此使用条件编译#ifdef #else #endif来设定日志输出:

    #ifdef DEBUG  // 调试阶段
    #define MyLog(...) NSLog(__VA_ARGS__)
    #else // 发布阶段
    #define MyLog(...)
    #endif

    .m文件都定义了一个宏__OBJC__(注意两侧是双划线),因此要只让.m文件引入,可以如下这样写:

    #ifdef __OBJC__
      #import <...>
    #endif

    细节:注意将上面的内容全部包含到__OBJC__中,防止非.m文件访问引起错误

    Tip:.c如果import OC的.h文件,可能会引入@开头的关键词,c语言无法识别,就会报错。


    InfoPlist.strings和本地化有关(多语言支持)。

    程序的入口是main.m。

    几个重要对象:

    UIApplication是整个应用程序的象征,每个应用都有自己的UIApplication对象,而且是单例的,即唯一的。

    要操作按钮图标(如显示右上角的红色),或者提示用户当前正在联网:

    第二个属性开启后在顶部的StatusBar会有联网的提示圆圈,第三个属性是设置应用显示在右上角的数字,0表示不显示。

        UIApplication *app = [UIApplication sharedApplication];
        app.networkActivityIndicatorVisible = YES;
        app.applicationIconBadgeNumber = 1;

    openURL方法可以用于访问资源,会通过浏览器访问:

    [app openURL:[NSURL URLWithString:@"http://www.baidu.com"]];
    不用自己决定是以什么方式打开。

    如果把URL的协议头换成tel://可以拨打电话。

    协议:sms是发短信,mailto是发邮件,还可以打开其他app(例如另一个app进行授权登陆)。


    从iOS7开始,系统提供了两种方式管理Status Bar,可以通过控制器管理(不同控制器可以有不同的状态栏)。通过UIApplication来管理状态栏,一个App只能有一种状态栏。

    默认情况下,iOS7+都是通过控制器来控制Status Bar,Application对象有一系列的UIStatusBarXxx属性来设定,但是iOS7+内这写内容是无效的

    可以通过修改Xxx-Info.plist修改:

    
    View controller-based status bar appearance 键值设置为NO即可。

    Application管理StatusBar的好处:可以使用setStatusBarHidden方法设置动画。

    Tip:中途改变状态栏应该使用Application来控制。


  • 相关阅读:
    快排
    装载问题加强版
    從 Internet 安裝 Cygwin
    操作系统:基于页面置换算法的缓存原理详解(上)
    Java设计模式——适配器模式
    Unity 协程使用指南
    2015年总结
    基于正态分布的图片高斯模糊算法
    数据结构:关于AVL树的平衡旋转详解
    算法:关于生成抽样随机数的这些算法
  • 原文地址:https://www.cnblogs.com/aiwz/p/6154219.html
Copyright © 2011-2022 走看看