最近,iOS更新了iOS 10,并且对开发人员进行了某些更改,其中一项更改是,我们现在无法像以前那样检查允许完全访问,如下所示

-(BOOL)isOpenAccessGranted{
   return [UIPasteboard generalPasteboard];
 }

我搜索了最新的Developer Guide for UIPasteboard,但无法解决。有没有人对此有适当的解决方案。

最佳答案

iOS11及以上版本非常简单。

iOS10解决方案:检查所有可复制类型,如果其中一种可用,则您具有完全访问权限,否则没有权限。

-迅捷4.2--

override var hasFullAccess: Bool
{
    if #available(iOS 11.0, *){
        return super.hasFullAccess// super is UIInputViewController.
    }

    if #available(iOSApplicationExtension 10.0, *){
        if UIPasteboard.general.hasStrings{
            return  true
        }
        else if UIPasteboard.general.hasURLs{
            return true
        }
        else if UIPasteboard.general.hasColors{
            return true
        }
        else if UIPasteboard.general.hasImages{
            return true
        }
        else  // In case the pasteboard is blank
        {
            UIPasteboard.general.string = ""

            if UIPasteboard.general.hasStrings{
                return  true
            }else{
                return  false
            }
        }
    } else{
        // before iOS10
        return UIPasteboard.general.isKind(of: UIPasteboard.self)
    }
}

10-06 01:11