? ?小的第一帖,具體需求是應(yīng)用首次訪問系統(tǒng)相冊(cè)敷待,會(huì)彈出授權(quán)界面拆宛,點(diǎn)擊確認(rèn)后,馬上刷新數(shù)據(jù)源顯示圖片出來讼撒。
貼一下代碼:
```objc
if(IS_GREATER_THAN_IOS8) //ios8以上
{
PHAuthorizationStatus status = [PHPhotoLibrary authorizationStatus];
if (status == PHAuthorizationStatusDenied)
{
NSLog(@"用戶拒絕當(dāng)前應(yīng)用訪問相冊(cè),我們需要提醒用戶打開訪問開關(guān)");
}else if (status == PHAuthorizationStatusRestricted)
{
NSLog(@"家長(zhǎng)控制,不允許訪問");
}else if (status == PHAuthorizationStatusNotDetermined)
{
//第一次訪問相冊(cè)浑厚,彈出授權(quán)界面。點(diǎn)擊后定時(shí)器根盒。這里加個(gè)定時(shí)器钳幅,判斷有沒有權(quán)限。思路是點(diǎn)擊后炎滞,會(huì)執(zhí)行定時(shí)器里的方法敢艰,如果點(diǎn)了確認(rèn),可以加載數(shù)據(jù)册赛。點(diǎn)不允許钠导,數(shù)據(jù)就加載不出來。
_time = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(TODO(寫你自己的代碼)) userInfo:nil repeats:YES];
}else if (status == PHAuthorizationStatusAuthorized){
// 獲取所有資源的集合森瘪,并按資源的創(chuàng)建時(shí)間排序
TODO...(寫你自己的代碼)
}
}
```
ToDo
在掃描添加結(jié)果的時(shí)候停掉定時(shí)器牡属。
if(_time)
{
[_time invalidate];
}
測(cè)試方法:
修改bundleId就可以生成新的應(yīng)用,實(shí)現(xiàn)測(cè)試目的扼睬。
不懂可以私聊逮栅。
感覺之前的方法還是有問題,現(xiàn)在完善下窗宇。
-(void)GetALLphotosUsingPohotKit
{
if ([PHPhotoLibrary respondsToSelector:@selector(authorizationStatus)])
{
if ([PHPhotoLibrary authorizationStatus] == PHAuthorizationStatusAuthorized)
{
[self readSystemPhoto];
}
else
{
[PHPhotoLibrary requestAuthorization:^(PHAuthorizationStatus status) {
if (status == PHAuthorizationStatusAuthorized)
{
[self readSystemPhoto];
}
}];
}
}
else
{
[self readSystemPhoto];
}
}
這樣的話不管有沒權(quán)限都可以訪問措伐,有權(quán)限直接走else訪問,沒有權(quán)限彈出授權(quán)窗口军俊,點(diǎn)擊同意后會(huì)回調(diào)侥加,然后也可以馬上訪問,不需要定時(shí)器啥的粪躬。