Вы действительно хотите остаться в пропасти CoreFoundation? ? Приведите массив к [URL]
if let apps = LSCopyApplicationURLsForURL(URL(string: "http://www.yahoo.com")! as CFURL, LSRolesMask.all)?.takeRetainedValue() {
for url in apps as! [URL] {
print(url)
}
}
Кстати, ошибка возникает из-за того, что CFArrayGetValueAtIndex
возвращает указатель, который не может быть приведен к CFURL
Вы должны написать что-то вроде
for ix in 0..<count {
let url = unsafeBitCast(CFArrayGetValueAtIndex(finalArray, ix), to: URL.self)
print(url)
}