iOS_Tips
Некоторые примеры iOS, время от времени обновляются
简书 | 掘金 |
---|---|
https://www.jianshu.com/u/e15d1f644bea | https://juejin.im/user/5c00d97b6fb9a049fb436288 |
- Тёмный режим (#1 — тёмный режим адаптации)
- Вход в AppleID (#2 — вход в приложение с помощью AppleID)
- AVFoundation (связанное)
3.1. AVFoundation: имитация камеры WeChat для съёмки и редактирования видео 3.2. AVFoundation: обнаружение лиц 3.3. AVFoundation: живые фильтры 3.4. Использование GPUImage 3.5. Видео- и аудиокодирование с использованием VideoToolBox и AudioToolBox 3.6. Распознавание цвета объектов с помощью AVFoundation и камеры 3.7. Сканирование и генерация QR-кодов с помощью AVFoundation
- Изучение OpenGL ES (#4 — изучение OpenGLES)
- Практика алгоритмов LeetCode (#5 — практика алгоритмов LeetCode)
- Проблемы, с которыми я столкнулся на работе (#6 — проблемы, с которыми я сталкивался на работе)
6.1. Проблема одновременного существования клавиатуры и UIMenuController 6.2. Конфликт жестов скольжения между полноэкранным боковым скольжением, UIScrollView и UISlider 6.3. Получение ячейки в определённом положении в UITableView и UICollectionView 6.4. Визуальные проблемы с анимацией в UIScrollView 6.5. Коллекция датчиков iOS 6.6. Пользовательские переходы анимации 6.7. Оптимизация двоичной перестановки для ускорения запуска 6.8. Управление производительностью приложений APM для iOS (doing) 6.9. Сканирование ненужных ресурсов в ipa 6.10. Вложенные UIScrollViews / личный центр
- Защита от сбоев iOS (#7 — защита от сбоев iOS)
- WKWebView (связанное) (#8 — связанное с WKWebView)
8.1. Использование WKWebView 8.2. Смешивание WKWebView и UITableView 8.3. Функция офлайн-кэширования WKWebView 8.4. Замена нетекстовых элементов HTML на собственные компоненты 8.5. Принцип реализации UIScrollView 8.6. Принцип реализации UITableView
Коллекция высококачественных технических блогов [Заключение] 5-LeetCode алгоритм практики
Коллекция упражнений по алгоритмам LeetCode (версия Swift) — каждый день по одной задаче
6-Проблемы, с которыми я столкнулся в работе
|  | |
Мониторинг использования ЦП, памяти / диска, обнаружения зависаний, защита от сбоев, мониторинг количества потоков, сетевой мониторинг (время установления соединения TCP, время DNS, время SSL, время первого пакета, время отклика, трафик), мониторинг времени запуска ViewController, времени загрузки метода, времени выполнения метода...
Сканирование проекта на наличие неиспользуемых изображений, файлов классов и других ресурсов. Этот пример в основном касается изображений в этом проекте. Другие типы ресурсов используют ту же основную идею.
| 
7-Защита от сбоев iOS
Защита от сбоев включает в себя обработку ошибок в NSArray / NSMutableArray, NSDictionary / NSMutableDictionary, NSString / NSMutableString, Unrecognized Selector, KVO, KVC, асинхронную потоковую передачу обновлений пользовательского интерфейса, дикие указатели, обнаружение, утечки памяти / циклические ссылки; в основном это обработка ошибок в общих местах, где легко ошибиться, чтобы избежать сбоев и сохранить стек вызовов функций при возникновении ошибки, чтобы облегчить быстрое определение местоположения кода. В основном используются знания о времени выполнения и fishook.
| 
8-Связанные с WKWebView
Использование WKWebView, смешивание WKWebView + UITableView, автономная функция кэширования WKWebView, замена HTML-элементов, отличных от текста, на собственные компоненты, реализация UIScrollView, реализация UITableView
|
Заключение
- Основной проект — это DarkMode в iOS_Tips, не сомневайтесь 🤣, историческое наследие, большая часть контента находится внутри, просто запустите его, и вы поймёте;
- Большинство функций в этом демо ещё не описаны в блоге, но я напишу их позже. Однако я обычно пишу комментарии к коду, поэтому я думаю, что после прочтения вы сможете понять его самостоятельно. После прочтения рекомендуется написать его самостоятельно, чтобы понять весь процесс. Возможно, вы сделаете это лучше меня;
- [Просмотренные высококачественные технические блоги](iOS_Tips/DarkMode/WorkIssues/Высококачественные технические блоги.md), качество этих блогов довольно высокое, они написаны экспертами из крупных компаний, серьёзно прочитайте их, и ваша работа будет очень насыщенной;
- Видеозапись не удалась, особенно на телефонах серии Plus и X: возможно, это связано с настройками videoSize для записываемого видео. Вы можете попробовать установить его следующим образом: avCaptureTool.videoSize = CGSizeMake(self.view.width * 0,8, self.view.height * 0,8);
- Когда вы компилируете, XCode сообщает об ошибке Unable to load contents of file list. Это вызвано несоответствием версий pods. Пожалуйста, обновите версию pods или переустановите её.
- Если вы обнаружите, что мои статьи на juejin или jianshu недоступны, пожалуйста, свяжитесь со мной.
jianshu | juejin | QQ группа общения | публичный аккаунт WeChat | группа общения WeChat |
---|---|---|---|---|
CSDN | [835303405](https://github.com/wsl2ls/iOS_TipsPreview/blob/master/PrviewPicture/QQ группа общения.png) | [iOS2679114653](https://github.com/wsl2ls/iOS_TipsPreview/blob/master/PrviewPicture/публичный аккаунт WeChat.png) | w2679114653 (добавьте меня, чтобы присоединиться к группе) |
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )