iOS 10 удаленных уведомлений с картинками
Прежде всего, я новичок в Swift, у меня есть опыт работы с Objective C, но я в основном разработчик для Android.
На самом деле я занимаюсь разработкой приложения на Swift 3 и Xcode 8. Мне нужно добавить в это приложение новую многофункциональную систему push-уведомлений Apple.
Я был в состоянии добавить локальный богатый пример уведомления с фото, видео и гифками. Но мне нужно показать удаленные уведомления с фотографиями, размещенными на типичном интернет-сервере.
Для запуска локальных уведомлений я использую этот код:
@IBAction func launchPicNotification(sender: UIButton) {
let content = UNMutableNotificationContent()
content.title = "Title"
content.body = "Body"
content.sound = UNNotificationSound.default()
let url = Bundle.main.url(forResource:"foto", withExtension: "jpg")
let attachment = try? UNNotificationAttachment(identifier: "Notification",
url: url!,
options: [:])
if let attachment = attachment {
print("Yes")
content.attachments.append(attachment)
}else{
print("No")
}
let trigger = UNTimeIntervalNotificationTrigger.init(timeInterval: 10.0, repeats: false)
let request = UNNotificationRequest(identifier:"identificador", content: content, trigger: trigger)
UNUserNotificationCenter.current().add(request){(error) in
if (error != nil){
//handle here
}
}
}
Мне нужно загрузить удаленный файл JPG, как прикрепленное изображение. Кто-нибудь знает, как я могу загрузить удаленный файл вместо загрузки локальной картинки?
Спасибо
1 ответ
Я добавил расширение для UIImage, чтобы справиться с этим. Создав UIImage из загруженных данных, вы можете вызвать эту функцию, чтобы создать локальный URL.
extension UIImage {
func createLocalURL() -> URL? {
guard let data = UIImagePNGRepresentation(self) else {
print("Coule not get UIImagePNGRepresentation Data for photo")
return nil
}
let localUrl = self.getDocumentsDirectory().appendingPathComponent("copy.png")
do {
try data.write(to: localUrl)
} catch let error {
print("Failed to write to URL")
print(error)
}
return localUrl
}
}