2016-01-28 3 views
0

Свифт говорит мне, что мой файл не существует, и, к сожалению, я не могу найти каталог самостоятельно. Я неправильно использую URL-адрес для метода ресурсов или мне просто нужно найти способ удаления дополнительных скобок? Когда я ссылаюсь на этот объект напрямую, он работает, но мне нужно найти способ создания пути, который могут использовать мои товарищи по команде.Почему быстро не распознает мой ресурс?

override func setUp() 
{ 
    super.setUp() 
    let bundleURL = NSBundle.mainBundle().URLForResource("meetingexample", withExtension: "ics") 
    let eventsFile = NSURL(fileURLWithPath: ("\(bundleURL)")) 
    //let eventsFile = NSURL(fileURLWithPath: docFolderURL.URLByAppendingPathComponent("/meetingexample.ics")) 
    content = try! String(contentsOfURL: eventsFile, encoding: NSUTF8StringEncoding)  
} 

Печать bundleURL:

Дополнительно (файл:/Users/GB112922/Library/Developer/CoreSimulator/Devices/EF6A2594-6B31-4E38-B46D-2F3AAAF25210/данные/Контейнеры/Bundle/Применение/35E04003-072F-476E-957E-98C70B792539/CallIn.app/meetingexample.ics) `

+0

@rmaddy Да на оба вопроса в вашем первом комментарии. Просто использование bundleURL дает мне ошибку, поскольку она ожидает строку, а не NSURL. – Deco

+0

Хотя он находится в папке тестирования, а не в папке основного приложения, возможно, это может повлиять? – Deco

ответ

1

у вас есть две проблемы:

  1. "\(bundleURL)" обертывает значение NSURL в дополнительном тексте Optional(...).
  2. URLForResource уже дает вам NSURL. Нет необходимости создавать из него еще NSURL.

Просто используйте bundleURL. Нет необходимости в переменной eventsFile.

override func setUp() 
{ 
    super.setUp() 
    let bundleURL = NSBundle.mainBundle().URLForResource("meetingexample", withExtension: "ics") 
    content = try! String(contentsOfURL: bundleURL, encoding: NSUTF8StringEncoding)  
} 
+0

Спасибо, что я весь этот день застрял. – Deco

Смежные вопросы