Я строю подачу со ссылками на мультимедийные активы. Если ссылка плохая, она не должна быть в канале, как видео, которое не воспроизводит или изображение, которое не загружается, является плохим пользовательским опытом. Канал получает телефон через JSON из конечной точки без пользы WebSocket. Процесс синхронного преобразования, как только мы загрузили данные. < /p>
Вот рабочий процесс. Вы получаете объект JSON, такой как:
{"feed": [{"title": "Проверьте это видео", "videoSurl": "https://www.youtube.com/somevideo.mp4"}]}
arssy of hars of arssy of arssy of arssh (Synchronous) < /p>
< /li>
[*] Сохранить массив объектов подачи для ядра (синхронно) < /p>
< /li>
Отображение объектов с использованием nsfetchedresultscontroller. (Synchronous)
Внутри 3-до сохранения каждого элемента для данных основных данных может показаться логичным местом для проверки/проверки ссылок.-(void) saveFeed:(NSArray *)items inContext: (NSManagedObjectContext*) context
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Videofeed" inManagedObjectContext:context];
items* item;
for (i=0;i
Функция a < /p>
@objc public extension NSString {
@available(iOS 13.0.0, *)
func fileExists(at surl: NSString) async throws -> Bool {
let str = self as String
guard let url = URL(string: str) else { return false }
var request = URLRequest(url: url)
request.httpMethod = "HEAD"
request.timeoutInterval = 1.0 // Adjust to your needs
let (_, response) = try await URLSession.shared.data(for: request)
return (response as? HTTPURLResponse)?.statusCode == 200
}
}
edit:
Я реализовал следующий код, в котором используется завершение, чтобы проверить действительный URL -адрес, и он возвращает кула Как я могу сделать это из Objective-c? < /P>
Функция B < /p>
@objc public extension NSString {
func foundValidFileAtSurl(completion:@escaping (Bool) -> ()) {
let str = self as String
if (self == "") {
completion(false)
}
if let url = URL(string: str) {
var request = URLRequest(url: url)
request.httpMethod = "HEAD"//confirm header not complete file
request.timeoutInterval = 1.0 // Adjust to your needs
let task = URLSession.shared.dataTask(with: request) {
data,response,error in
guard error == nil else { print(error ?? "error",error!.localizedDescription); return }
guard data != nil else { print("Empty data"); return }
// flag = ((response as? HTTPURLResponse)?.statusCode == 200)
completion((response as? HTTPURLResponse)?.statusCode == 200)
}
task.resume()
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/789 ... bjective-c
Лучший способ протестировать просмотр ссылок в подаче, используя Swift или Objective-C ⇐ IOS
Программируем под IOS
1755336345
Anonymous
Я строю подачу со ссылками на мультимедийные активы. Если ссылка плохая, она не должна быть в канале, как видео, которое не воспроизводит или изображение, которое не загружается, является плохим пользовательским опытом. Канал получает телефон через JSON из конечной точки без пользы WebSocket. Процесс синхронного преобразования, как только мы загрузили данные. < /p>
Вот рабочий процесс. Вы получаете объект JSON, такой как:
{"feed": [{"title": "Проверьте это видео", "videoSurl": "https://www.youtube.com/somevideo.mp4"}]}
arssy of hars of arssy of arssy of arssh (Synchronous) < /p>
< /li>
[*] Сохранить массив объектов подачи для ядра (синхронно) < /p>
< /li>
Отображение объектов с использованием nsfetchedresultscontroller. (Synchronous)
Внутри 3-до сохранения каждого элемента для данных основных данных может показаться логичным местом для проверки/проверки ссылок.-(void) saveFeed:(NSArray *)items inContext: (NSManagedObjectContext*) context
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Videofeed" inManagedObjectContext:context];
items* item;
for (i=0;i
Функция a < /p>
@objc public extension NSString {
@available(iOS 13.0.0, *)
func fileExists(at surl: NSString) async throws -> Bool {
let str = self as String
guard let url = URL(string: str) else { return false }
var request = URLRequest(url: url)
request.httpMethod = "HEAD"
request.timeoutInterval = 1.0 // Adjust to your needs
let (_, response) = try await URLSession.shared.data(for: request)
return (response as? HTTPURLResponse)?.statusCode == 200
}
}
[b] edit: [/b]
Я реализовал следующий код, в котором используется завершение, чтобы проверить действительный URL -адрес, и он возвращает кула Как я могу сделать это из Objective-c? < /P>
Функция B < /p>
@objc public extension NSString {
func foundValidFileAtSurl(completion:@escaping (Bool) -> ()) {
let str = self as String
if (self == "") {
completion(false)
}
if let url = URL(string: str) {
var request = URLRequest(url: url)
request.httpMethod = "HEAD"//confirm header not complete file
request.timeoutInterval = 1.0 // Adjust to your needs
let task = URLSession.shared.dataTask(with: request) {
data,response,error in
guard error == nil else { print(error ?? "error",error!.localizedDescription); return }
guard data != nil else { print("Empty data"); return }
// flag = ((response as? HTTPURLResponse)?.statusCode == 200)
completion((response as? HTTPURLResponse)?.statusCode == 200)
}
task.resume()
}
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/78967084/best-way-to-test-vallid-links-in-feed-using-swift-or-objective-c[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия