Apple обеспечивает безопасность App Store во многом за счет вертикальной интеграции всех своих сервисов. Им принадлежит вся цепочка – начиная от контроля железа в телефоне, на котором запускается приложение, заканчивая каналом загрузки этих приложений в стор и механизмами их верификации. Сейчас идет много разговоров о том, что Apple вынудят разрешить установку альтернативных сторов на свои устройства. В статье детально разбирается, почему такое решение существенно ухудшит безопасность для конечных пользователей.
TidBITS
Apple’s App Store Stubbornness May Be iOS’s Greatest Security Vulnerability
Apple’s App Store helped make iPads and iPhones the most secure consumer-focused computers ever created. But Apple’s opaque policy enforcement and payment restrictions are now motivating regulators and courts to get involved, which will likely force changes…
👍11👎9
Хотите получить оффер в крутую команду и бонусом к нему доп. зарплату на старте уже в эти выходные?
Тогда поспешите подать заявку до 22 апреля на Weekend Offer для мобильных разработчиков в команду мессенджера VK Teams.
Узнайте подробнее в видеоприглашении о продукте и задачах, которые вас ждут, и не упускайте свой шанс!
Тогда поспешите подать заявку до 22 апреля на Weekend Offer для мобильных разработчиков в команду мессенджера VK Teams.
Узнайте подробнее в видеоприглашении о продукте и задачах, которые вас ждут, и не упускайте свой шанс!
🤮66💩43👍9👎3🥰2
Вопрос #3 из State of iOS Toolchain 2022. Какие Git-клиенты вы используете?
Anonymous Poll
46%
Терминал
18%
Встроенный в IDE
28%
Fork
2%
GitUp
39%
SourceTree
5%
GitKraken
4%
Tower
8%
Другой клиент
0%
Не использую
4%
Посмотреть результаты
👍11
В Swift 5.6 появилась новая фича, расширяющая возможности автоматического вывода типов компилятором: type placeholders. Благодаря ей, в дженериках иногда можно использовать
_
вместо указания конкретного типа. За примерами кода – в статью.Swift by Sundell
Type placeholders in Swift | Swift by Sundell
New in Swift 5.6: We can now use type placeholders to select what generic types that we want the compiler to infer. Let’s take a look at how those placeholders work, and what kinds of situations that they could be really useful in.
👍17👎9🤔4
Неочевидный совет – если в вашем приложении есть какой-то контент в WebView, то вы можете его дебажить с помощью специальных инструмента Safari – Web Inspector. С его помощью можно изучать иерархию DOM, менять CSS-свойства нод, выполнять произвольный JS и дебажить код.
Bendodson
Web Inspector on iOS devices and Simulators
How to debug HTML and JS in Safari iOS, SFSafariViewController, and WKWebView using Web Inspector on macOS.
❤17👍12
Вопрос #4 из State of iOS Toolchain 2022. Где вы хостите свои репозитории?
Anonymous Poll
64%
GitHub
41%
GitLab
27%
Bitbucket
1%
JetBrains Space
9%
Локально
4%
Другое
6%
Посмотреть результаты
👍1😢1💩1
На SwiftUI уже написано достаточно много кода и приложений, чтобы можно было выделять часто встречающиеся антипаттерны. В статье разбирается несколько групп ошибок, ведущих к ухудшению фактического и воспринимаемого перфоманса приложений.
martinmitrevski
SwiftUI performance tips
Optimizing performance is definitely one of the most interesting topics, not only on iOS, but software development in general. There are many thought provoking challenges, accompanied with a detect…
👍22
На прошлой неделе я выкладывал статью про weak self в Swift. Держите еще один материал по теме, предлагающий три правила по работе с self в замыканиях:
1️⃣A strongly-retained
2️⃣A weakly retained
3️⃣Upgrade
1️⃣A strongly-retained
self
isn’t always a retain cycle2️⃣A weakly retained
self
will never be a retain cycle3️⃣Upgrade
self
to strong at the top of closures to avoid weird behavior👍19🔥3
Вопрос #5 из State of iOS Toolchain 2022. Что вы используете на сетевом слое своих приложений?
Anonymous Poll
61%
URLSession
15%
Moya
43%
Alamofire
0%
Siesta
0%
Twitter Network Layer
3%
Другую готовую библиотеку
16%
Свою библиотеку
9%
Посмотреть результаты
Если вы привыкли использовать функцию
addSubview
для добавления вьюшек в иерархию, в SwiftUI вам надо будет переучиваться на использование transitions, которые обрабатывают добавление/удаление вьюшек автоматически. Держите подробную статью от objc.io про Transitions в SwiftUI, с хорошими схемами и примерами кода.www.objc.io
Transitions in SwiftUI
Simple but powerful
👍25👎1
Хороший гайд по тому, как стать техническим инфлюенсером. Несколько запомнившихся мыслей:
📌Большинство профессионально успешных людей не заметны в онлайне, не стоит верить своему пузырю.
📌Самая полезная метрика – количество людей, которые обращаются к тебе за советом.
📌Выбирайте самые топовые свои материалы и прорабатывайте для них сертезный план дистрибуции. Каналов получения новых читателей очень много.
📌Вы всегда можете присосаться к чужому каналу дистрибуции – например, написав гостевой блогпост (я тоже, если что, с радостью выложу ваши статьи)
📌Большинство профессионально успешных людей не заметны в онлайне, не стоит верить своему пузырю.
📌Самая полезная метрика – количество людей, которые обращаются к тебе за советом.
📌Выбирайте самые топовые свои материалы и прорабатывайте для них сертезный план дистрибуции. Каналов получения новых читателей очень много.
📌Вы всегда можете присосаться к чужому каналу дистрибуции – например, написав гостевой блогпост (я тоже, если что, с радостью выложу ваши статьи)
Lethain
How to be a tech influencer.
In a one-on-one before the holidays, a coworker expressed an interest in being more influential outside of the company and wanted my advice. There’s a similar email I get semi-regularly asking whether folks looking to advance their career should start blogging…
👍8💩6
Вопрос #6 из State of iOS Toolchain 2022. Какие кроссплатформенные технологии вы используете?
Anonymous Poll
5%
React Native
11%
Flutter
8%
Kotlin Multiplatform Mobile
9%
C++
2%
Другая технология
65%
Не использую
10%
Посмотреть результаты
Лонгрид выходного дня про историю создания одного из первых массовых домашних компьютеров Commodore 64.
IEEE Spectrum
Creating the Commodore 64: The Engineers’ Story
The daring and design that went into the best-selling computer of all time
👍7
Вопрос #7 из State of iOS Toolchain 2022. Как у вас организован Dependency Management?
Anonymous Poll
51%
SPM
8%
Carthage
67%
Cocoapods
10%
Binary frameworks
6%
Copy to sources
3%
Другое решение
1%
Не использую зависимости
7%
Посмотреть результаты
Apple начали рассылать некоторым разработчикам письма с уведомлением о том, что их приложения будут сняты с публикации через 30 дней из-за того, что они не обновлялись продолжительное время. Какой именно срок становится триггером – пока неизвестно, но в примерах говорят про два года.
9to5Mac
Apple now removing outdated apps from the App Store, developers complain - 9to5Mac
Apple is warning developers that it will remove from the App Store apps that haven’t been ”updated in a significant amount of time.”
😱15👍8😢4❤2
Когда вам нужно проиграть звук в приложении, самый простой вариант – создать инстанс
AVAudioPlayer
с нужным url и использовать его. Но в большинстве случаев стоит подумать над тем, как проигрываемый звук должен синхронизироваться с контекстом. Например, останавливать музыку в других приложениях, пока ваше проигрывание не закончится. В этом помогает AVAudioSession,
разные режимы работы которого разбираются в этой статье.blog.kulman.sk
Correctly playing audio in iOS applications
When you look for a way to play audio in your iOS application you usually find code like this
player = try AVAudioPlayer(contentsOf: url)
player.prepareToPlay()
player.play()
While this code works and will play the given audio file it does not deal with all…
player = try AVAudioPlayer(contentsOf: url)
player.prepareToPlay()
player.play()
While this code works and will play the given audio file it does not deal with all…
🔥40👍5
Вдогонку к утренней статье расшифровка доклада Романа Волкова про
AVAudioSession
и распознавание речи, с обходом существующих багов и особенностями работы с этими API.Хабр
Make <your iOS app> talk. Доклад Яндекса
Cтандартные библиотеки распознавания речи и озвучки текста в iOS дают массу возможностей. Из доклада VolkovRoman вы узнаете, как за счёт минимального количества кода научить ваше приложение...
👍19💩2❤1
Вопрос #8 из State of iOS Toolchain 2022. Какие архитектурные подходы используете?
Anonymous Poll
32%
MVC
52%
MVVM
25%
VIPER
8%
Redux
5%
TCA
3%
RIBs
18%
CleanSwift
9%
Другое
8%
Не использую универсальных архитектурных решений
11%
Посмотреть результаты
👍2
Координаторы устарели. Да здравствуют Навигаторы! Автор статьи описывает свой подход к реализации навигации в приложении: типобезопасный, отделяемый от бизнес-логики, позволяющий легко расширять архитектуру. Если найдете отличия от координаторов, дайте знать.
Medium
Seaworthy mobile applications know how to navigate
Ahoy fellow buccaneers! You might have been in this game a long while or you might just be starting out, whichever rings true, I think we…
💩25😁10👍5👎1🤔1
Разбор сильных и слабых сторон DocC для сценария публикации сгенерированной документации на GitHub.
Jesse Squires
Using DocC on GitHub Pages
When I first wrote about DocC, I lamented the fact that it was incompatible with static hosting on GitHub Pages. Much has changed since my last post, so let’...
👍4