系統(tǒng)分享中AirDrop分享圖片和鏈接, 提示不能同時(shí)接收...

系統(tǒng)分享中的AirDrop不能同時(shí)包含圖片和鏈接, 否則報(bào)錯(cuò)”不能同時(shí)接收...”, 但是其他系統(tǒng)分享可以同時(shí)分享圖片和鏈接

解決方法:

創(chuàng)建UIActivityItemProvider的子類, 在子類中實(shí)現(xiàn)代理方法

- (id)activityViewController:(UIActivityViewController *)activityViewController itemForActivityType:(NSString *)activityType;

判斷activityType是否為AirDrop類型 UIActivityTypeAirDrop
如果是, 返回nil; 不是, 返回傳入的圖片路徑

將創(chuàng)建的子類添加到ActivityItems中即可

UIActivityViewController *activityViewController =[[UIActivityViewController alloc] initWithActivityItems:activityItems
                                                                                            applicationActivities:nil];

PS:

如果需要適配iPad, 需要處理UIActivityViewController的彈出方式
UIActivityViewController包裹在UIPopoverController

[[UIPopoverController alloc] initWithContentViewController:activityViewController];

需要設(shè)置彈出的位置,方向等

[self.popup presentPopoverFromRect:CGRectMake(VC.view.frame.size.width/2, VC.view.frame.size.height/4, 0, 0) inView:VC.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

iPhone直接presentViewController即可

代碼如下:

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
    self.popup = [[UIPopoverController alloc] initWithContentViewController:activityViewController];
    [self.popup presentPopoverFromRect:CGRectMake(VC.view.frame.size.width/2, VC.view.frame.size.height/4, 0, 0) inView:VC.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
 }else {
    [VC presentViewController:activityViewController animated:YES completion:nil];
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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