APPGroup筆記

APPGroup筆記

iOS8之后,蘋果新增了APPGroup功能,多個應(yīng)用程序可以通過同一個Group來共享資源,APPGroup可以通過NSUsedefaults進(jìn)行小量數(shù)據(jù)的共享,如果需要共享較大的文件,可以通過NSFileCoordinator\NSFilePresenter等方式,主要應(yīng)用在(extension拓展(uni-app插件)、多個app自動登錄、小組件等)

使用appgroup準(zhǔn)備工作流程

在開發(fā)者中心注冊app group并在BounilID內(nèi)部打開appgroup按鈕選擇創(chuàng)建的appgroupName.

b0cc013531167f05bacd73733448930.png

![99d1ccf336404d7236eb04d8b5c03dd.png](https://upload-images.jianshu.io/upload_images/1421910-d7c4cebfb8c86021.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

項目中配置:在兩個使用appgroup的程序中,targets->capability添加appgroup并選擇group ID

WechatIMG315.png
WechatIMG316.png

開啟appGroup,兩個應(yīng)用T1和T2都需要添加一個相同的group name,APP之間通過這個group共享數(shù)據(jù)。

//T1通過appgroup的名字創(chuàng)建信號設(shè)置并設(shè)置數(shù)據(jù)
NSUserDefaults *mydefaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.yss"];
[mydefaults setObject:@"share data" forKey:@"mykey"];

//T2通過app group的名字創(chuàng)建編號設(shè)置并讀取數(shù)據(jù)
NSUserDefaults *mydefaults2 = [[NSUserDefaults alloc] initWithSuiteName:@"group.yss"];
NSString *contents = [mydefaults2 objectForKey:@"mykey"];

使用NSFileManger保存獲取appgroup共享空間數(shù)據(jù)

實際開發(fā)中,比如這種需求:公司有兩個app,登錄一個app后,在下載第二個app會實現(xiàn)自動登錄的功能,接下來用NSFileManger代碼實現(xiàn)一下

//第一個app 共享文件appgroup.text寫入數(shù)據(jù)
//共享文件appGroup.text中寫入數(shù)據(jù)
//獲取app group的共享目錄
NSURL *groupURL = [[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier:@"group.temp.xxxx.xxxx"];//開發(fā)者平臺自定義
NSURL *fileURL = [groupURL URLByAppendingPathComponent:@"tmp.txt"];
//寫入文件
[@"hello-world" writeToURL:fileURL atomically:YES encoding:NSUTF8StringEncoding error:nil];

//讀取數(shù)據(jù) 第二個app 通過獲取tmp.txt的數(shù)據(jù)
//獲取appgroup共享目錄
NSURL *groupURL2 = [[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier:@"group.temp.xxxx.xxxx"];
NSURL *fileURL2 = [groupURL2 URLByAppendingPathComponent:@"tmp.txt"];
//讀取文件
NSString *str = [NSString stringWithContentsOfURL:fileURL2 encoding:NSUTF8StringEncoding error:nil];
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容