tamaño - Permitir verificación de acceso completo en teclados iOS10
teclado iphone descargar (5)
He solucionado este problema. iOS 10.0 y Swift 3.0
func isOpenAccessGranted() -> Bool {
if #available(iOSApplicationExtension 10.0, *) {
UIPasteboard.general.string = "TEST"
if UIPasteboard.general.hasStrings {
// Enable string-related control...
UIPasteboard.general.string = ""
return true
}
else
{
UIPasteboard.general.string = ""
return false
}
} else {
// Fallback on earlier versions
if UIPasteboard.general.isKind(of: UIPasteboard.self) {
return true
}else
{
return false
}
}
}
Use esto:
if (isOpenAccessGranted())
{
print("ACCESS : ON")
}
else{
print("ACCESS : OFF")
}
Recientemente iOS tiene una actualización de iOS 10 y hay ciertos cambios para los desarrolladores. Uno de los cambios que ahora no podemos verificar es permitir el acceso completo de la manera en que lo hicimos anteriormente.
-(BOOL)isOpenAccessGranted{
return [UIPasteboard generalPasteboard];
}
Busqué la última Guía del desarrollador para UIPasteboard , pero no pude resolverlo. ¿Alguien tiene una solución adecuada para esto?
Probado en iOS 10 Swift 3.0 e iOS 9
Utilice #available(iOS 10.0, *)
lugar de #available(iOSApplicationExtension 10.0, *)
func isOpenAccessGranted() -> Bool {
if #available(iOS 10.0, *) {
var originalString = UIPasteboard.general.string
if(!(originalString != nil)){
originalString = ""
}
UIPasteboard.general.string = "Test"
if UIPasteboard.general.hasStrings {
UIPasteboard.general.string = originalString
return true
}else{
return false
}
}else{
return UIPasteboard.general.isKind(of: UIPasteboard.self)
}
}
Para amigos, buscando solución en Objective-C, aquí está
NSOperatingSystemVersion operatingSystem= [[NSProcessInfo processInfo] operatingSystemVersion];
if (operatingSystem.majorVersion>=10) {
UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
pasteboard.string = @"Hey";
if (pasteboard.hasStrings) {
pasteboard.string = @"";
return true;
}
else
{
pasteboard.string = @"";
return false;
}
}
else
{
return [UIPasteboard generalPasteboard];
}
PD: Esto es solo una solución
Swift 3
static func isOpenAccessGranted() -> Bool {
if #available(iOS 10.0, iOSApplicationExtension 10.0, *) {
let value = UIPasteboard.general.string
UIPasteboard.general.string = "checkOpenedAccess"
let hasString = UIPasteboard.general.string != nil
if let _ = value, hasString {
UIPasteboard.general.string = value
}
return hasString
}
else {
return UIPasteboard(name: UIPasteboardName(rawValue: "checkOpenedAccess"), create: true) != nil
}
}
Solución iOS10: compruebe todos los tipos que pueden copiarse, si uno de ellos está disponible, tiene acceso completo, de lo contrario no.
PD: Nuevo teléfono y después de que los casos de actualización de iOS sean corregidos.
- Swift 2.3--
static func isFullAccessGranted() -> Bool
{
if #available(iOSApplicationExtension 10.0, *)
{
if UIPasteboard.generalPasteboard().hasStrings
{
return true
}
else if UIPasteboard.generalPasteboard().hasURLs
{
return true
}
else if UIPasteboard.generalPasteboard().hasColors
{
return true
}
else if UIPasteboard.generalPasteboard().hasImages
{
return true
}
else // In case the pasteboard is blank
{
UIPasteboard.generalPasteboard().string = ""
if UIPasteboard.generalPasteboard().hasStrings
{
return true
}else
{
return false
}
}
} else {
// before iOS10
if UIPasteboard.generalPasteboard().isKindOfClass( UIPasteboard)
{
return true
}else
{
return false
}
}
}
- Swift 3.0--
static func isFullAccessGranted() -> Bool
{
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)
}
}