iOS開發之info.pist文件和.pch文件
如果你是iOS開發初學者,不用過多的關注項目中各個文件的作用。因為iOS開發的學習路線起點不在這里,這些文件只會給你學習帶來困擾。
打開一個項目,我們會看到4個主文件夾。
Test文件夾主要是單元測試相關,不做介紹
Frameworks文件夾中存放的是項目依賴的一些框架
PRoducts文件夾主要是MAC開發中使用,iOS開發不用理會。
這里主要介紹與工程同名的文件夾內的常見的文件。
1. info.plist文件
建立一個工程后,會在Supporting files文件夾下看到一個“工程名-Info.plist”的文件,該文件對工程做一些運行期的配置,非常重要,不能刪除
• 在舊版本Xcode創建的工程中,這個配置文件的名字就叫“Info.plist”
• 項目中其他Plist文件不能帶有“Info”這個字眼,不然會被錯認為是傳說中非常重要的“Info.plist”。同樣,若你新接觸一個項目,想要看它的配置信息,可以找帶info字眼的plist文件
• 項目中還有一個InfoPlist.strings的文件,跟Info.plist文件的本地化相關
打開info.plist文件如下圖:
我們可以看到這是一個字典,字典中存放的是很多的健值對。我們可以在這里添加一些項目的配置。下面介紹一些比較重要的我們經常用到的一些屬性:
常見屬性(紅色部分是用文本編輯器打開時看到的key)
Localiztion native development region(CFBundleDevelopmentRegion)-本地化相關
Bundle display name(CFBundleDisplayName)-程序安裝后顯示的名稱,限制在10-12個字符,如果超出,將被顯示縮寫名稱。默認顯示的是工程名稱,如果你修改了這個值,有兩點需要注意:
1. 卸載之前已經部署的應用
2. 清除Xcode的緩存,從新部署
不然app的名稱修改不會成功。
Icon file(CFBundleIconFile)-app圖標名稱,一般為Icon.png
Bundle version(CFBundleVersion)-應用程序的內部版本號,用于記錄開發版本
Bundle version string,short(CFBundleShortVersionString)應用程序的發布版本號,在App Store更新應用要保證目前版本大于上一版本。
Main storyboard file base name(NSMainStoryboardFile)-主storyboard文件的名稱,在項目的工程配置可以修改Main Inerface屬性也可以設置主storyboard文件,并且修改后info.plist文件中的信息會自動修改。
Bundle identifier(CFBundleIdentifier)-項目的唯一標識,部署到真機時用到,這是與其他app區分的唯一標識,若此標識相同,后部署的app將覆蓋之前部署的app。
實際上plist文件本質上就是一種特殊的xml文件。
2. pch文件
項目的Supporting files文件夾下面有個“工程名-Prefix.pch”文件,也是一個頭文件,pch頭文件的內容能被項目中的其他所有源文件共享和訪問。
pch文件的作用:
1.存放一些全局的宏(整個項目中都用得上的宏)
2.用來包含一些全部的頭文件(整個項目中都用得上的頭文件)
3.能自動打開或者關閉日志輸出功能
自動打開或者關閉日志輸出功能的代碼遵循以下格式,因為NSlog()是OC中的方法,所以只有后綴為.m或.mm文件才用得著。
#ifdef __OBJC__
//你的代碼
#endif
如下:
#ifdef __OBJC__#import <UIKit/UIKit.h>#import <Foundation/Foundation.h>#import "MJPerson.h"#ifdef DEBUG // 調試階段,DEBUG的宏是系統在調試階段自動添加的,所以只要判斷有沒有定義過DEBUG這個宏就可以在發布階段自動的去掉項目中的所有的日志輸出語句。#define CLLog(...) NSLog(__VA_ARGS__)#else // 發布階段#define CLLog(...)#endif
新聞熱點
疑難解答