Object-C_Info.Plist || AppDelegate

1.Info.Plist文件的操作

1.支持Https協(xié)議

//1.打開(kāi)info.plist->Open As ->Source Code
//2.加入允許的鍵值對(duì)
    <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>

2.導(dǎo)航欄上方的狀態(tài)欄顏色等修改操作

//1.在info.plist文件中設(shè)置
(雙擊info.plist-->Open As --> Source Code)加入以下鍵值對(duì)

    <key>UIViewControllerBasedStatusBarAppearance</key>
    <false/>
//3.在Appdelegate中設(shè)置
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

//4.隱藏導(dǎo)航欄上方的狀態(tài)欄
    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault animated:YES];

5.語(yǔ)言本地化/國(guó)際化設(shè)置

1.語(yǔ)言國(guó)際化詳細(xì)說(shuō)明請(qǐng)參考
2.完整的語(yǔ)言代號(hào)列表

//1.打開(kāi)info.plist -->Localization native development region ->en(默認(rèn)英文)
//2.如果只支持中文"en"代號(hào)替換成''zh"代號(hào)

6.使用地圖時(shí)鲸阻,開(kāi)啟相關(guān)條件

//1.打開(kāi)info.plist->Open As ->Source Code
//2.加入允許的鍵值對(duì)
    //一直允許定位
    <key>NSLocationAlwaysUsageDescription</key>
    <string>
    請(qǐng)點(diǎn)擊“允許”以允許“中原找房”訪問(wèn)您的位置信息当娱。
    </string>

    //使用時(shí)允許定位
    <key>NSLocationWhenInUseUsageDescription</key>
    <string>
    請(qǐng)點(diǎn)擊“允許”以允許“中原找房”訪問(wèn)您的位置信息脓鹃。
    </string>

//3.對(duì)應(yīng)的方法
//在IOS8中定位功能新增了兩個(gè)方法:
- (void)requestWhenInUseAuthorization __OSX_AVAILABLE_STARTING(__MAC_NA, __IPHONE_8_0);
- (void)requestAlwaysAuthorization __OSX_AVAILABLE_STARTING(__MAC_NA, __IPHONE_8_0);

7.Plist文件的讀取與創(chuàng)建

  • 目的: 方便存儲(chǔ)一些列表固定數(shù)據(jù)(如:城市列表及相關(guān)參數(shù))
  • 介紹: plist文件的實(shí)質(zhì)為Json數(shù)據(jù)的一個(gè)容器(Root結(jié)構(gòu)可以是NSDictorny/NSArray)
Resource.plist.png

  • 手動(dòng)創(chuàng)建plist文件
/*!
 *  @brief 創(chuàng)建的plist文件&&讀扰鬯(手動(dòng))
 */
- (void)readSystemPlistFiles{
    //1.創(chuàng)建步驟,Command+N -> 選擇Resource --> PropertyPlist --> xx(文件名).plist
    //2.設(shè)置plist文件結(jié)構(gòu)(.plist文件的實(shí)質(zhì)就是一個(gè)json數(shù)據(jù)的容器)
    //3.讀取文件
    //3.1獲取已有完整路徑
    NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"Resource" ofType:@"plist"];
    //3.2根據(jù)文件路徑讀取json數(shù)據(jù),注意:如果Root是NSArray結(jié)構(gòu),就用NSArray讀取接收;如果是NSDictory,就用NSDictory讀取接收
    NSArray *resourcePlist = [NSArray arrayWithContentsOfFile:plistPath];
    NSLog(@"%@",resourcePlist);
}
//輸出:
2016-08-12 14:31:01.282 Plist文件的使用和創(chuàng)建[5091:156679] (
        {
        ciityId = 2;
        cityCode = 1001;
        cityName = "\U4e0a\U6d77";
    },
        {
        ciityId = 3;
        cityCode = 1002;
        cityName = "\U5317\U4eac";
    },
        {
        ciityId = 4;
        cityCode = 1003;
        cityName = "\U5357\U4eac";
    },
        {
        ciityId = 6;
        cityCode = 1005;
        cityName = "\U6df1\U5733";
    }
)

  • 代碼創(chuàng)建plist文件弓熏,存儲(chǔ)在NSDocumentDirectory中
/*!
 *  @brief 代碼創(chuàng)建plist文件
 */
- (void)createPlistFilesByCode {
    //1.讀取文件路徑
    NSString *filePath = getDoucmentPathWithName(@"PropertyList");
    
    //2.根據(jù)文件路徑,讀取接收數(shù)據(jù)
    NSMutableArray<NSDictionary*> *resourcePlist = [[NSMutableArray alloc]initWithContentsOfFile:filePath];
    
    NSMutableDictionary *dic = [[NSMutableDictionary alloc ] init];
    [dic setObject:@"總管達(dá)人" forKey:@"name"];
    [dic setObject:@"123456" forKey:@"password"];
    [resourcePlist addObject:dic];
    
    //3.寫(xiě)入文件
    [resourcePlist writeToFile:filePath atomically:YES];
    
    NSLog(@"%@",resourcePlist);
}

/*!
 *  @brief 獲取本地沙盒路徑
 *
 *  @param name 文件名字
 *
 *  @return 文件路徑
 */
static NSString *getDoucmentPathWithName(NSString *fileName) {
    
    NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    //獲取完整路徑
    NSString *documentsPath = [path objectAtIndex:0];
    
    NSString *plistPath = [documentsPath stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.plist",fileName]];
    
    return plistPath;
}

//輸出:
2016-08-12 15:12:21.848 Plist文件的使用和創(chuàng)建[5292:187489] (
        {
        name = "\U5b59\U609f\U7a7a111";
        password = sunwukong;
    },
        {
        name = "\U5b59\U609f\U7a7a111";
        password = sunwukong;
    },
        {
        name = "\U603b\U7ba1\U8fbe\U4eba";
        password = 123456;
    }
)

2.AppDelegate操作

1.后臺(tái)運(yùn)行

使用 block 的另一個(gè)用處是可以讓程序在后臺(tái)較長(zhǎng)久的運(yùn)行糠睡。在以前挽鞠,當(dāng) app 被按 home 鍵退出后,app 僅有最多 5 秒鐘的時(shí)候做一些保存或清理資源的工作。但是應(yīng)用可以調(diào)用 UIApplication 的beginBackgroundTaskWithExpirationHandler方法滞谢,讓 app 最多有 10 分鐘的時(shí)間在后臺(tái)長(zhǎng)久運(yùn)行串稀。這個(gè)時(shí)間可以用來(lái)做清理本地緩存,發(fā)送統(tǒng)計(jì)數(shù)據(jù)等工作狮杨。

// AppDelegate.h 文件
@property (assign, nonatomic) UIBackgroundTaskIdentifier backgroundUpdateTask;

// AppDelegate.m 文件
- (void)applicationDidEnterBackground:(UIApplication *)application
{
    [self beingBackgroundUpdateTask];
    // 在這里加上你需要長(zhǎng)久運(yùn)行的代碼
    [self endBackgroundUpdateTask];
}

- (void)beingBackgroundUpdateTask
{
    self.backgroundUpdateTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{
        [self endBackgroundUpdateTask];
    }];
}

- (void)endBackgroundUpdateTask
{
    [[UIApplication sharedApplication] endBackgroundTask: self.backgroundUpdateTask];
    self.backgroundUpdateTask = UIBackgroundTaskInvalid;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市到忽,隨后出現(xiàn)的幾起案子橄教,更是在濱河造成了極大的恐慌,老刑警劉巖喘漏,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件护蝶,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡翩迈,警方通過(guò)查閱死者的電腦和手機(jī)持灰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)负饲,“玉大人堤魁,你說(shuō)我怎么就攤上這事》凳” “怎么了妥泉?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)洞坑。 經(jīng)常有香客問(wèn)我盲链,道長(zhǎng),這世上最難降的妖魔是什么迟杂? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任刽沾,我火速辦了婚禮,結(jié)果婚禮上排拷,老公的妹妹穿的比我還像新娘侧漓。我一直安慰自己,他們只是感情好攻泼,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布火架。 她就那樣靜靜地躺著,像睡著了一般忙菠。 火紅的嫁衣襯著肌膚如雪何鸡。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,784評(píng)論 1 290
  • 那天牛欢,我揣著相機(jī)與錄音骡男,去河邊找鬼。 笑死傍睹,一個(gè)胖子當(dāng)著我的面吹牛隔盛,可吹牛的內(nèi)容都是我干的犹菱。 我是一名探鬼主播,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼吮炕,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼腊脱!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起龙亲,我...
    開(kāi)封第一講書(shū)人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤陕凹,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后鳄炉,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體杜耙,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年拂盯,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了佑女。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡谈竿,死狀恐怖团驱,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情榕订,我是刑警寧澤店茶,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站劫恒,受9級(jí)特大地震影響贩幻,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜两嘴,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一丛楚、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧憔辫,春花似錦趣些、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至锦亦,卻和暖如春舶替,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背杠园。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工顾瞪, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓陈醒,卻偏偏與公主長(zhǎng)得像惕橙,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子钉跷,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,756評(píng)論 25 707
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理弥鹦,服務(wù)發(fā)現(xiàn),斷路器爷辙,智...
    卡卡羅2017閱讀 134,629評(píng)論 18 139
  • 見(jiàn)www.reibang.com/p/59279b018217 Application can be killed...
    heatbeats閱讀 3,029評(píng)論 0 0
  • 聊一下才知道丟臉的人也有兩個(gè)世界犬钢。 我最丟臉的事是某次全班齊讀“窮且益堅(jiān),不墜青云之志”思灰。天知道我多愛(ài)滕王閣序玷犹。天...
    唐四月閱讀 193評(píng)論 0 0
  • C語(yǔ)言 hello world 程序 hello程序的生命周期是從一個(gè)源程序(源文件)開(kāi)始的,即程序員通過(guò)編輯器創(chuàng)...
    錢(qián)塘閱讀 228評(píng)論 0 0