Size: a a a

iOS Developers — русскоговорящее сообщество

2019 October 17

S

Sasha_A in iOS Developers — русскоговорящее сообщество
тот код я бы не использовал на своем проекте)
источник

SV

Sergey Vanichkin in iOS Developers — русскоговорящее сообщество
ага, не пашет на табличных контроллерах
источник

SV

Sergey Vanichkin in iOS Developers — русскоговорящее сообщество
надо доработать
источник

S

Sasha_A in iOS Developers — русскоговорящее сообщество
та я не про это, никто в здравом уме не заапрувит такой MR, особенно этот момент
источник

S

Sasha_A in iOS Developers — русскоговорящее сообщество
// Workaround for iOS7.1. Thanks to @boliva - http://stackoverflow.com/posts/comments/34452906
 for(UIView *subview in [navigationBar subviews]) {
  if(0. < subview.alpha && subview.alpha < 1.) {
   [UIView animateWithDuration:.25 animations:^{
    subview.alpha = 1.;
   }];
  }
 }
источник

SV

Sergey Vanichkin in iOS Developers — русскоговорящее сообщество
а не на табличных тоже пашет
источник

SV

Sergey Vanichkin in iOS Developers — русскоговорящее сообщество
конкретно на моих не хочет ))
источник

S

Sasha_A in iOS Developers — русскоговорящее сообщество
но лично мое мнение, если пользователь нажимает назад, он должен попасть назад
источник

S

Sasha_A in iOS Developers — русскоговорящее сообщество
если возникает такая необходимость, возможно проблема вообще в логике данного экрана. лично я когда занимался этой проблемой, только что бы анализировать насколько часто пользователи клоцают назад, но никак не ограничивать переход
источник

V

Vadim in iOS Developers — русскоговорящее сообщество
О, это чат ux инженеров
источник

VK

Vladimir Kubantsev in iOS Developers — русскоговорящее сообщество
Мб просто модальное окно сделать?
источник

S

Sasha_A in iOS Developers — русскоговорящее сообщество
Vladimir Kubantsev
Мб просто модальное окно сделать?
это я уже предлагал)
источник

VK

Vladimir Kubantsev in iOS Developers — русскоговорящее сообщество
Если с навигейшн контролом - делегаты смотреть, либо хачить
источник

АЧ

Антон Чехов in iOS Developers — русскоговорящее сообщество
Всем привет
Есть такая штука

В приложении нужно получать имя фотографии
PHImageManager.default()
           .requestImageData(for: self,
                             options: options,
                             resultHandler:                
               { (imageData, rawMimeString, _, info) in
                   
                   if let imgData = imageData,
                       let img = UIImage.init(data: imgData)
                   {
                       photo.data = img.jpegData(compressionQuality: 0.8)
                   }
                   
                   if let fileName = (info?["PHImageFileURLKey"] as? NSURL)?.lastPathComponent {
                       photo.name = fileName
                   }
                   
                   if let mimeString = rawMimeString,
                       let mime = UTTypeCopyPreferredTagWithClass(mimeString as CFString, kUTTagClassMIMEType)?.takeRetainedValue() {
                       let strMime = String(mime).lowercased()
                       if strMime.range(of: "heic") == nil  {
                           photo.mime = String(mime)
                       } else {
                           photo.mime = "image/jpeg"
                       }
                   }
                   
                   if let name = photo.name {
                       let lowercasedName = name.lowercased()
                       if lowercasedName.range(of: ".heic") != nil,
                           let index = lowercasedName.range(of: ".heic")?.lowerBound {
                           let nameNoExt = String(lowercasedName[..<index])//.substring(to: index)
                           photo.name = nameNoExt + ".jpeg"
                       }
                   }
           })


Раньше это делали кодом, который выше
В iOS 13 это не работает
И не получается найти почему не работает

Я смог найти то, что метод
requestImageData
больше не работает и нужно применять метод
requestImageDataAndOrientation

Я переписал код и теперь можно увидеть, что тот ключ, по которому из Dictionry я получал данные теперь отсутствует

В конечном итоге я нашёл какой-то ключ и там всегда, при любых обстоятельствах возвращается как имя файла "public.jpeg"

Что думаете коллеги?
источник

ME

Maxim Egorov in iOS Developers — русскоговорящее сообщество
у тебя в info url  фотографии?
источник

АЧ

Антон Чехов in iOS Developers — русскоговорящее сообщество
Maxim
Раньше так было
Сейчас уже нет

Вот то, что лежит в Dictionry

([AnyHashable : Any]?) $R2 = 5 key/value pairs {
 [0] = {
   key = {
     _box = {
       payload_data_0 = 0xc000000000000012 {
         Foundation.NSValue = {
           ObjectiveC.NSObject = {}
         }
       }
       payload_data_1 = 0x40007fff8122ac88
       payload_data_2 = 0x00007fff8122ad68 "PHImageResultRequestIDKey"
       instance_type = 0x000000010ae99940
       witness_table__AnyHashableBox = 0x000000010ae5d258 libswiftCore.dylib`protocol witness table for Swift._ConcreteHashableBox<A> : Swift._AnyHashableBox in Swift
     }
   }
   value = {
     payload_data_0 = 0x0000600002917860 {
       ObjectiveC.NSObject = {}
     }
     payload_data_1 = 0x00007fff80b708f0 "public.jpeg"
     payload_data_2 = 0xcb19ec82fdbb9582 {
       Foundation.NSValue = {
         ObjectiveC.NSObject = {}
       }
     }
     instance_type = 0x000000010ae8e540
   }
 }
 [1] = {
   key = {
     _box = {
       payload_data_0 = 0xc000000000000011 {
         Foundation.NSValue = {
           ObjectiveC.NSObject = {}
         }
       }
       payload_data_1 = 0x40007fff8122aca8
       payload_data_2 = 0x0000000100000001
       instance_type = 0x000000010ae99940
       witness_table__AnyHashableBox = 0x000000010ae5d258 libswiftCore.dylib`protocol witness table for Swift._ConcreteHashableBox<A> : Swift._AnyHashableBox in Swift
     }
   }
   value = {
     payload_data_0 = 0x00007fff80b708f0 "public.jpeg"
     payload_data_1 = 0x0000000000000000
     payload_data_2 = 0x0000000000000000
     instance_type = 0x000000010ae911b0
   }
 }
 [2] = {
   key = {
     _box = {
       payload_data_0 = 0xc00000000000001a {
         Foundation.NSValue = {
           ObjectiveC.NSObject = {}
         }
       }
       payload_data_1 = 0x40007fff8122ac68
       payload_data_2 = 0x0000000000000000
       instance_type = 0x000000010ae99940
       witness_table__AnyHashableBox = 0x000000010ae5d258 libswiftCore.dylib`protocol witness table for Swift._ConcreteHashableBox<A> : Swift._AnyHashableBox in Swift
     }
   }
   value = {
     payload_data_0 = 0x00007fff805f6ce0 {
       Foundation.NSValue = {
         ObjectiveC.NSObject = {}
       }
     }
     payload_data_1 = 0x0000000000000000
     payload_data_2 = 0x0000000000000000
     instance_type = 0x000000010ae911d8
   }
 }
 [3] = {
   key = {
     _box = {
       payload_data_0 = 0xc000000000000019 {
         Foundation.NSValue = {
           ObjectiveC.NSObject = {}
         }
       }
       payload_data_1 = 0x40007fff8122acc8
       payload_data_2 = 0x0000000100000001
       instance_type = 0x000000010ae99940
       witness_table__AnyHashableBox = 0x000000010ae5d258 libswiftCore.dylib`protocol witness table for Swift._ConcreteHashableBox<A> : Swift._AnyHashableBox in Swift
     }
   }
   value = {
     payload_data_0 = 0xcb19ec82fdbb9573 {
       Foundation.NSValue = {
         ObjectiveC.NSObject = {}
       }
     }
     payload_data_1 = 0x0000000000000000
     payload_data_2 = 0x0000000000000000
     instance_type = 0x000000010ae91228
   }
 }
 [4] = {
   key = {
     _box = {
       payload_data_0 = 0xc000000000000019 {...}
       payload_data_1 = 0x40007fff8122ad68
       payload_data_2 = 0x0000000100000001
       instance_type = 0x000000010ae99940
       witness_table__AnyHashableBox = 0x000000010ae5d258 libswiftCore.dylib`protocol witness table for Swift._ConcreteHashableBox<A> : Swift._AnyHashableBox in Swift
     }
   }
   value = {
     payload_data_0 = 0xcb19ec82fdbb9582 {...}
     payload_data_1 = 0x0000000000000000
     payload_data_2 = 0x0000000000000000
     instance_type = 0x000000010ae91228
   }
 }
}
источник

ME

Maxim Egorov in iOS Developers — русскоговорящее сообщество
Ну у тебя url неправильный
Замени "PHImageFileURLKey" на "PHImageFileUTIKey"
Может заработает
источник

fb

frade brade in iOS Developers — русскоговорящее сообщество
Видели, новая версия python 3.8 вышла!?
источник

АЧ

Антон Чехов in iOS Developers — русскоговорящее сообщество
Maxim Egorov
Ну у тебя url неправильный
Замени "PHImageFileURLKey" на "PHImageFileUTIKey"
Может заработает
Сейчас в ios 13 я по этому ключу и получаю "public.jpeg"
И только его
источник

V

Vadim in iOS Developers — русскоговорящее сообщество
frade brade
Видели, новая версия python 3.8 вышла!?
Вот это да, очень интересно
источник