標籤:
iOS開發UI篇—常見的專案檔介紹
一、專案檔結構
二、檔案介紹
1.products目錄:主要用於mac電腦開發的可運行檔案。ios開發用不到這個檔案
2.frameworks目錄主要用來放依賴的架構
3.test目錄是用來做單元測試的
4.經常使用的目錄(項目名稱目錄)
(1)XXXinfo.plist檔案(在該項目中為 01-常見檔案-Info.plist)
1)簡單說明
是設定檔。該檔案對project做一些執行期的配置,很重要。不能刪除。
在舊版本號碼xcode建立的project中,這個設定檔的名字就叫做info.plist。
注意:因此在載入自己準備的plist檔案的時候,不要以info命名。
2)設定檔的屬性介紹:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDkyNzMxMQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >
bundledisplay name:
應用程式顯示名稱。
假設要改動案頭上顯示的檔案名稱,僅僅要改動此處就能夠了。
(須要先刪除原始的程式,然後清空一下project,由於程式有緩衝)
bundleidentifer:
唯一識別碼(唯一的標識著一個應用程式,為了保證程式的唯一性,通常把網域名稱倒過來寫)
Bundle versions string, short和bundleversions
兩個都用來表示應用程式的版本號碼。前面的版本號碼是正式的版本號碼,後面的為組建號。即公司內部開發的版本號碼。要求提示:上傳app的時候。後面更新的版本號碼必須比之前的版本號碼大。
mainstoryboard file base name
最基本的storyboard
有兩種方式改動plist設定檔:
第一種方式即在所看到的的介面對配置資訊進行改動。
另外一種方式直接點擊project,能夠通過可視化介面進行設定。
補充說明:
a.應用程式支援的旋轉方向。
四個方向。垂直-不支援顛倒-左-右(最多僅僅支援三個方向)
b.plist檔案開啟之後是xml檔案。和字典一樣。是通過鍵值對的形式來儲存資料。在xml檔案裡。加入了CF首碼
(2)pch檔案(在該項目中為 01-常見檔案-Prefix.pch)
1)簡單說明
儲存的內容可以被項目中的其它全部原檔案分享權限設定。
通常情況下宏檔案的處理,須要加入import匯入標頭檔。以後能夠把這個宏定義在這個檔案裡。不再須要匯入標頭檔
2)應用情境:
1.用來定義一些全域的宏。
2.用來匯入一些全域都能用到的標頭檔。
3.用來自己定義NSlog,非常消耗資源。(差點兒是最消耗的)。在公布的時候要把全部的列印都去掉。
(補充:在開發中。分為兩個階段。
一是開發調試階段,須要列印log偵錯工具。假設程式處於調試階段。系統會為我們定義一個名稱叫做DEBUG的宏。
二是公布階段:不須要列印log,由於log非常佔用資源,而且使用者看不懂log,假設程式處理公布階段,會去除這個宏。
難道在公布的時候要一個一個把NSlog都凝視掉?
然後在開發第二版。第三版的時候,又要把全部凝視掉的NSlog都開啟?
對於這個問題。在.pch檔案裡自己定義NSlog就能夠非常好的解決。
)
3)自己定義NSlog
在做開發的時候能夠先開啟pch檔案,看看公司中有沒有自己定義NSlog。
#import <Availability.h>
#ifndef __IPHONE_5_0
#warning "This project usesfeatures only available in iOS SDK 5.0 and later."
#endif
/************__OBJC__BEGIN************/
// 裡面的全部內容僅僅能用到.m檔案裡或者.mm
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#import "TXPerson.h"
#ifdef DEBUG // 調試階段
#define TXLog(...)NSLog(__VA_ARGS__)
#else // 公布階段
#define TXLog(...)
#endif
#define ABC 10
#endif
/************__OBJC__END************/
/**
* 外面的全部東西,整個項目共用
*/
#define Name 10
/**
pch檔案的作用:
1.存放一些全域的宏(整個項目中都用得上的宏)
2.用來包括一些所有的標頭檔(整個項目中都用得上的標頭檔)
3.能自己主動開啟或者關閉日誌輸出功能
*/
說明:…指接收可變參數
補充:
_OBJC_這個宏,在全部的.m和.mm檔案裡,都預設包括了這個宏,就預設會編譯以下那兩句
條件編譯語句,假設有這個宏,就編譯以下的語句。
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
假設這個全域的標頭檔或者宏。僅僅須要在.m或.mm檔案裡使用,請把該檔案或宏寫到#ifdef_ODBC_中用。
注意點:建議寫在條件編譯裡面(注意#endif)
infoplist.strings的檔案。跟info.plist檔案的本地化相關
iOS開發UI篇章 15-項目中的常見檔案