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来控制。


  • 相关阅读:
    DVWA 黑客攻防演练(十)反射型 XSS 攻击 Reflected Cross Site Scripting
    DVWA 黑客攻防演练(九) SQL 盲注 SQL Injection (Blind)
    DVWA 黑客攻防演练(八)SQL 注入 SQL Injection
    DVWA 黑客攻防演练(七)Weak Session IDs
    DVWA 黑客攻防演练(六)不安全的验证码 Insecure CAPTCHA
    DVWA 黑客攻防演练(五)文件上传漏洞 File Upload
    工作流表结构设计
    Visual Studio 2019尝鲜----新建空项目体验
    《使用CSLA 2019:CSLA .NET概述》原版和机译文档下载
    .NET快速开发平台的在线预览
  • 原文地址:https://www.cnblogs.com/aiwz/p/6154219.html
Copyright © 2011-2022 走看看