Swift 4
extension Date {
public func formattedFromComponents(styleAttitude: DateFormatter.Style, year: Bool = false, month: Bool = false, day: Bool = false, hour: Bool = false, minute: Bool = false, second: Bool = false, locale: Locale = Locale.current) -> String {
let long = styleAttitude == .long || styleAttitude == .full
let short = styleAttitude == .short
var comps = ""
if year { comps += long ? "yyyy" : "yy" }
if month { comps += long ? "MMMM" : (short ? "MM" : "MMM") }
if day { comps += long ? "dd" : "d" }
if hour { comps += long ? "HH" : "H" }
if minute { comps += long ? "mm" : "m" }
if second { comps += long ? "ss" : "s" }
let format = DateFormatter.dateFormat(fromTemplate: comps, options: 0, locale: locale)
let formatter = DateFormatter()
formatter.dateFormat = format
return formatter.string(from: self)
}
}
Единственное, о чем я могу думать, это то, что мобильная подложка часто выводит на консоль, и 99,99% телефонов с джейлбрейком должны быть установлены по умолчанию и обычно уведомляет вас, когда перехватывает функцию телефона
Хотя это, конечно, не надежное решение, вы можете посмотреть на запущенные двоичные файлы, чтобы увидеть, есть ли приложения с взломанной защитой, работающие во время сбоя. Winterboard
, например, приложение, которое существует только на взломанных устройствах. Если вы подозреваете, что сбой происходит на взломанном устройстве, я бы начал с его проверки.
вы также можете поискать сторонние установщики приложений. На большинстве взломанных устройств есть те, которые упрощают загрузку приложений. Я бы создал небольшой список приложений, которые могут вызвать «ага!» момент, так вы хотя бы будете уверены, что он взломан