ios11删除返回Nil的URL
我尝试使用以下代码将URL从Safari拖到集合视图中,然后让它打印URLios11删除返回Nil的URL,ios,swift,ios11,Ios,Swift,Ios11,我尝试使用以下代码将URL从Safari拖到集合视图中,然后让它打印URL func collectionView(_ collectionView: UICollectionView, performDropWith coordinator: UICollectionViewDropCoordinator) { for item: UIDragItem in coordinator.session.items { item.itemProvider.loadItem(f
func collectionView(_ collectionView: UICollectionView, performDropWith coordinator: UICollectionViewDropCoordinator) {
for item: UIDragItem in coordinator.session.items {
item.itemProvider.loadItem(forTypeIdentifier: kUTTypeURL as String, options: nil, completionHandler: { (url, error) in
if let myURL = url as? URL {
print (myURL)
}
})
}
}
问题是,print(myURL)
行从未被调用,myURL
为零
我不确定这为什么不能作为会话工作。hasItemsConforming(toTypeIdentifiers:[kUTTypeURL as String])
是true
,所以看起来代码应该可以工作
有没有办法解决这个问题
编辑1
添加打印(url)代码>打印以下内容
2017-08-08 14:05:38.917080-0600 _____[1351:289923] [Common] _BSMachError: port 9c0b; (os/kern) invalid capability (0x14) "Unable to insert COPY_SEND"
Optional(<62706c69 73743030 a3010203 5f101a68 74747073 3a2f2f77 77772e6d 61637275 6d6f7273 2e636f6d 2f50d104 05557469 746c655f 10384d61 63205275 6d6f7273 3a204170 706c6520 4d616320 694f5320 52756d6f 72732061 6e64204e 65777320 596f7520 43617265 2041626f 7574080c 292a2d33 00000000 00000101 00000000 00000006 00000000 00000000 00000000 0000006e>)
2017-08-08 14:05:38.917080-0600[1351:289923][Common]\b机器错误:端口9c0b;(os/kern)无效功能(0x14)“无法插入副本\u发送”
可选()
它还说url
是类型NSSecureCoding?
。我对共享扩展使用了类似的代码,效果很好。如果直接打印url
会发生什么?它是什么类型的?如果它不能转换为URL
,条件转换将失败。@Losiowaty刚刚编辑了问题以包含您的问题的答案。NSSecureCoding
是一个协议,因此它的实际类是另一个类,从外观上看,它可能是Data
。如果您尝试以下操作:print(String(data:url!encoding:.utf8))
?(lldb)p String(data:url!encoding:.utf8)(String?$R0=nil修复应用它,修复表达式是:String(data:url!as!data,encoding:.utf8)
@losiowattylooks就像您得到的不是url一样。如果你把你得到的东西的内容倒出来,它是:bplist00_https://www.macrumors.com/PñUtitle_8Mac谣言:苹果Mac iOS谣言和你关心的新闻)*-3n
。。。看起来像是一个属性列表。