ios считывает содержимое с адреса частной сети

#objective-c #ios #file-io #network-protocols

#objective-c #iOS #file-io #сетевые протоколы

Вопрос:

Мне нужно прочитать файл, который приходит, например:

 \192.168.0.1FolderReadme.txt
  

как я могу прочитать этот файл из моего приложения в iPhone

Комментарии:

1. Я хотел бы сделать то же самое, что и в Windows, когда вы открываете путь \ ip

Ответ №1:

 NSString *pathToTextFile;
NSError  *readError;
NSString *fileData = [NSString stringWithContentsOfFile:pathToTextFile
                               encoding:NSUTF8StringEncoding
                               error:*readError]

 NSLog(@"here is your file as string = %@",fileData);
  

Комментарии:

1. просто это? и файл pathToTextFile будет \192.168.0.1FolderReadme.txt ??

2. Попробуйте;) smb://имя сервера / имя папки / документ. Я предполагаю, что в вашем случае: smb://192.168.0.1/Folder/Readme.txt Но, как уже говорилось, я не уверен, что iOS поддерживает SMB напрямую. как насчет размещения его на вашем локальном веб-сервере (Apache или аналогичном)

Ответ №2:

Я думаю, что в этом случае вы можете использовать библиотеку, подобную ASIHTTP. Ссылка

Должна быть возможность загрузить файл в объект NSString, а затем сохранить этот объект в файл.

 [nsStringObject writeToFile:pathToFile atomically:YES encoding:stringEncoding error:errorHandler];
  

Комментарии:

1. ASIHTTP работает хорошо… Библиотека HTTP, ему нужно получить доступ к своему файлу по протоколу SMB.

Ответ №3:

Как вы предлагаете в своем вопросе, вам необходимо получить доступ к вашему файлу по протоколу SMB (samba или Windows share). Я не думаю, что iOS поддерживает smb из коробки, однако некоторое время назад я наткнулся на библиотеку tango на github. Библиотека утверждает, что является реализацией SMB / CIFS для iOS, поэтому, я думаю, вы могли бы попробовать.