26.04.202501:55
🎉Вчора Apple Watch виповнилося 10 років!


23.04.202511:09
💡AppDelegate скоро діпрекейтнуть
В останніх комітах WebKit з назвою "Fix deprecation warnings due to new SDK" вирізали ворнінги повязані з AppDelegate.
Нове SDK - це нове iOS SDK, скоріш за все iOS 19.
https://github.com/WebKit/WebKit/commit/c976c0624c48e0bbc95ab7ed0b328f30392c8a10
BWSwift 📱 YouTube 📱 Patreon
В останніх комітах WebKit з назвою "Fix deprecation warnings due to new SDK" вирізали ворнінги повязані з AppDelegate.
Нове SDK - це нове iOS SDK, скоріш за все iOS 19.
https://github.com/WebKit/WebKit/commit/c976c0624c48e0bbc95ab7ed0b328f30392c8a10
BWSwift 📱 YouTube 📱 Patreon






21.04.202512:25
⛏Як виглядає локальний кластер для штучного інтелекту на основі Mac Studio та Mac Mini
🗣️ 6 років тому я збирав свої ферми для майнінгу, настав час збирати свій кластер!
І знання всі необхідні вже є по охолодженню, вентиляції, нетворкінгу та проводці. Залишилося інвестиції знайти :)
BWSwift 📱 YouTube 📱 Patreon
🗣️ 6 років тому я збирав свої ферми для майнінгу, настав час збирати свій кластер!
І знання всі необхідні вже є по охолодженню, вентиляції, нетворкінгу та проводці. Залишилося інвестиції знайти :)
BWSwift 📱 YouTube 📱 Patreon
19.04.202512:45
👩💻На випадок якщо пропустили нещодавній доклад від Alex Ozun.
https://youtu.be/qPHjDlqHsUQ?si=6rjJbTSta2wkhLCk
Дізнаєтесь, як правильно працювати з ~Copyable та consume self, скільки друзів у Алекса в реальному житті, та як зробити компілятор своїм другом.
Прошу до перегляду!
BWSwift 📱 YouTube 📱 Patreon
https://youtu.be/qPHjDlqHsUQ?si=6rjJbTSta2wkhLCk
Дізнаєтесь, як правильно працювати з ~Copyable та consume self, скільки друзів у Алекса в реальному житті, та як зробити компілятор своїм другом.
Прошу до перегляду!
BWSwift 📱 YouTube 📱 Patreon
18.04.202506:45
У SwiftUI @Environment values зроблені якимось чином, що тільки наявність рядка виду:
може призводити до проблем. Наприклад як от з dismiss. Або купа зайвих body reevaluations, як на відео з прикладом: 10 разів поки відкрив екран, перейшов за посиланням, закрив його.
Але якщо брати одразу EnvironmentValues:
то тоді такої вираженої проблеми не буде.
Викорстовуєте такий підхід, чи може інші варіанти?
MRE
#дрібниці
може призводити до проблем. Наприклад як от з dismiss. Або купа зайвих body reevaluations, як на відео з прикладом: 10 разів поки відкрив екран, перейшов за посиланням, закрив його.
Але якщо брати одразу EnvironmentValues:
то тоді такої вираженої проблеми не буде.
Викорстовуєте такий підхід, чи може інші варіанти?
MRE
#дрібниці


25.04.202510:40
🔥Рубрика #проектизкомюніті
Проект XCStrings Translator, автор @andriybbbb
Будь-ласка підтримайте проект на продактхант
https://www.producthunt.com/posts/ios-app-localizer
Поїхали👇
Всім привіт, хочу поділитись продуктом, який запустив. Це безкоштовна мак ос апка для локалізації Xcode проектів на 17 мов через Apple Translation апішку локально на девайсі:
Спочатку, коли лише з'явився xcstrings на WWDC 23, я написав в реквест в Crowdin (це сервіс, яким я тоді користувався для перекладу локалізаційних файлів). Через декілька місяців вони зробили цю функцію.
Все ж це був сторонній сервіс, яким я користувався на першій роботі і то було просто діло звички, тому я вирішив написати свій, який буде працювати на мак, в один клік. В той час я робив багато маленьких інді-апок і старався швидко їх релізити під різні ринки, тому мені потрібна була утиліта, яка швидко локалізовує інтерфейс.
В 2024 я створив першу версію, яка працювала через Google Translate API, тобто вимагала ключ, і за переклади, звісно, потрібно було би платити, коли досягаєш безкоштовного ліміту. Навіть пробував зарелізити це в Appstore, але отримав реджект, так як Apple забороняла використовувати будь-які слова, пов'язані з Google в апці і на скріншотах.
Ну а вже в 2025 році робив комерційний проект, який потребував локалізовувати інтерфейс, і якщо можна перекладати безкоштово за рахунок Apple і потужностей мак - чому б це не зробити?
Розробка заняла декілька днів, трошки подебажив, згенерував сайт - і опублікував 🙂
Окремо дякую за ваші відгуки в чаті і @Falli_ot який допоміг знайти декілька багів.
BWSwift 📱 YouTube 📱 Patreon
Проект XCStrings Translator, автор @andriybbbb
Будь-ласка підтримайте проект на продактхант
https://www.producthunt.com/posts/ios-app-localizer
Поїхали👇
Всім привіт, хочу поділитись продуктом, який запустив. Це безкоштовна мак ос апка для локалізації Xcode проектів на 17 мов через Apple Translation апішку локально на девайсі:
Спочатку, коли лише з'явився xcstrings на WWDC 23, я написав в реквест в Crowdin (це сервіс, яким я тоді користувався для перекладу локалізаційних файлів). Через декілька місяців вони зробили цю функцію.
Все ж це був сторонній сервіс, яким я користувався на першій роботі і то було просто діло звички, тому я вирішив написати свій, який буде працювати на мак, в один клік. В той час я робив багато маленьких інді-апок і старався швидко їх релізити під різні ринки, тому мені потрібна була утиліта, яка швидко локалізовує інтерфейс.
В 2024 я створив першу версію, яка працювала через Google Translate API, тобто вимагала ключ, і за переклади, звісно, потрібно було би платити, коли досягаєш безкоштовного ліміту. Навіть пробував зарелізити це в Appstore, але отримав реджект, так як Apple забороняла використовувати будь-які слова, пов'язані з Google в апці і на скріншотах.
Ну а вже в 2025 році робив комерційний проект, який потребував локалізовувати інтерфейс, і якщо можна перекладати безкоштово за рахунок Apple і потужностей мак - чому б це не зробити?
Розробка заняла декілька днів, трошки подебажив, згенерував сайт - і опублікував 🙂
Окремо дякую за ваші відгуки в чаті і @Falli_ot який допоміг знайти декілька багів.
BWSwift 📱 YouTube 📱 Patreon


22.04.202511:40
👩💻 Subprocess - новий Swift пакет який дозволяє легко працювати з дочірніми процесами!
Пакет вийшов два тижні тому і дозволяє створити процес одним рядком:
let result = try await run(.name("ls")
https://github.com/swiftlang/swift-subprocess
Працює з Swift 6.0 на MacOS, Ubuntu та Windows платформах (бо на інших не можна спавнити процеси)
BWSwift 📱 YouTube 📱 Patreon
Пакет вийшов два тижні тому і дозволяє створити процес одним рядком:
let result = try await run(.name("ls")
https://github.com/swiftlang/swift-subprocess
Працює з Swift 6.0 на MacOS, Ubuntu та Windows платформах (бо на інших не можна спавнити процеси)
BWSwift 📱 YouTube 📱 Patreon




17.04.202512:45
💡Як тимчасово відключити Face ID або Touch ID і вимагати пароль для розблокування пристрою.
Існує правовий прецедент у багатьох країнах, які не захищають ваші біометричні дані, коли справа доходить до правоохоронних органів.
Коротше кажучи, правоохоронні органи можуть змусити вас подивитися на свій пристрій або відсканувати відбиток пальця, щоб розблокувати пристрій, надаючи їм повний доступ до всіх ваших даних.
Все, що вам потрібно зробити, це натиснути і утримувати кнопку живлення та одну або обидві кнопки гучності протягом 2 цілих секунд.
Ось і все!
Це помістить вас на екран вимкненого меню, який також дає вам можливість побачити свій медичний ідентифікатор або зробити екстрений дзвінок.
🔐З цього моменту, навіть коли ви натиснете "Скасувати", вам знадобиться пароль, щоб знову увійти на свій iPhone.
Ви також можете швидко натиснути кнопку живлення 5 разів, і ви перейдете на той самий екран меню вимкнення.
BWSwift 📱 YouTube 📱 Patreon
Існує правовий прецедент у багатьох країнах, які не захищають ваші біометричні дані, коли справа доходить до правоохоронних органів.
Коротше кажучи, правоохоронні органи можуть змусити вас подивитися на свій пристрій або відсканувати відбиток пальця, щоб розблокувати пристрій, надаючи їм повний доступ до всіх ваших даних.
Все, що вам потрібно зробити, це натиснути і утримувати кнопку живлення та одну або обидві кнопки гучності протягом 2 цілих секунд.
Ось і все!
Це помістить вас на екран вимкненого меню, який також дає вам можливість побачити свій медичний ідентифікатор або зробити екстрений дзвінок.
🔐З цього моменту, навіть коли ви натиснете "Скасувати", вам знадобиться пароль, щоб знову увійти на свій iPhone.
Ви також можете швидко натиснути кнопку живлення 5 разів, і ви перейдете на той самий екран меню вимкнення.
BWSwift 📱 YouTube 📱 Patreon


24.04.202512:55
📊 Рейтинг мов програмування згідно TIOBE індекс
Мови програмування Kotlin, Ruby та Swift донедавна займали дуже стабільні позиції в топ-20 в індексі TIOBE. Але тепер вони, здається, втратили тягу. Kotlin і Swift мають одну і ту ж причину, чому вони знижуються. Вони обидва в основному використовуються для однієї конкретної мобільної платформи, Android та iOS, відповідно, тоді як сьогодні є й інші мови та фреймворки для кросплатформної розробки. Так, Swift можна використовувати для розробки Android, але це досить складно. І Kotlin на iOS ніколи насправді не злетів. Рубі - це інша історія. Протягом багатьох років Ruby конкурує з Python та Perl. Поки Perl знижувався, Ruby стабілізувався. Але тепер, коли Python став лінгва франка у світі програмування, для Ruby залишилося не так багато місця.
Ще одне цікаве спостереження полягає в тому, що світ мови програмування знаходиться у фазі консолідації. 20 найкращих мов наразі охоплюють 83,56% від загального ринку. Це дуже велика цифра; зазвичай вона становить близько 75%. Це означає, що ринок трохи захисний, віддаючи перевагу перевіреним технологіям перед випробуванням нових технологій.
BWSwift 📱 YouTube 📱 Patreon
Мови програмування Kotlin, Ruby та Swift донедавна займали дуже стабільні позиції в топ-20 в індексі TIOBE. Але тепер вони, здається, втратили тягу. Kotlin і Swift мають одну і ту ж причину, чому вони знижуються. Вони обидва в основному використовуються для однієї конкретної мобільної платформи, Android та iOS, відповідно, тоді як сьогодні є й інші мови та фреймворки для кросплатформної розробки. Так, Swift можна використовувати для розробки Android, але це досить складно. І Kotlin на iOS ніколи насправді не злетів. Рубі - це інша історія. Протягом багатьох років Ruby конкурує з Python та Perl. Поки Perl знижувався, Ruby стабілізувався. Але тепер, коли Python став лінгва франка у світі програмування, для Ruby залишилося не так багато місця.
Ще одне цікаве спостереження полягає в тому, що світ мови програмування знаходиться у фазі консолідації. 20 найкращих мов наразі охоплюють 83,56% від загального ринку. Це дуже велика цифра; зазвичай вона становить близько 75%. Це означає, що ринок трохи захисний, віддаючи перевагу перевіреним технологіям перед випробуванням нових технологій.
BWSwift 📱 YouTube 📱 Patreon


21.04.202517:10
Тут одна людина в інтернеті заморилася використовувати дефолтний незрозумілий Error Handling в Swift і витратила 8 місяців щоб написати свій власний ErrorKit, більш інтуітивний, з зрозумілими меседжами, тайп сейфті та гарною документацією.
Подивитись та спробувати можна тут: https://github.com/FlineDev/ErrorKit
А як ви хендлите помилки в своєму проекті?
Подивитись та спробувати можна тут: https://github.com/FlineDev/ErrorKit
А як ви хендлите помилки в своєму проекті?


18.04.202512:30
🔓Штучний інтелект може генерувати документи для проходження KYC!
Ну і як від цього захистися?
Якщо так подумати, то навіть 3Д скан обличчя, який пропонують KYC провайдери не надає тепер гарантій верифікації, бо на взломаному телефоні на камеру можна подати будь-який стрім. А «лідар» який є в FaceID вони не використовують.
Штучний інтелект дійсно несе багато викликів для сучасних технологій.
BWSwift 📱 YouTube 📱 Patreon
Ну і як від цього захистися?
Якщо так подумати, то навіть 3Д скан обличчя, який пропонують KYC провайдери не надає тепер гарантій верифікації, бо на взломаному телефоні на камеру можна подати будь-який стрім. А «лідар» який є в FaceID вони не використовують.
Штучний інтелект дійсно несе багато викликів для сучасних технологій.
BWSwift 📱 YouTube 📱 Patreon


17.04.202511:40
👩💻 Двадцять років тому, 7 квітня 2005 року, Лайнус Торвальдс зробив найперший коміт до нової системи управління версіями під назвою Git. Торвальдс, як відомо, написав Git всього за 10 днів після того, як розробники ядра Linux втратили доступ до свого власного інструменту BitKeeper через ліцензійні розбіжності. Насправді, у цьому першому коміті він написав достатньо, щоб використовувати Git для створення комітів!
Нетрадиційний і децентралізований дизайн Git - в даний час розповсюджений і, здавалося б, очевидний - був революційним у той час і змінив те, як команди програмного забезпечення співпрацюють і розробляють!
На перший Git коміт можна подивитися тут. Окремо зацініть Readme файл.
Коротко про GIT від засновника:
BWSwift 📱 YouTube 📱 Patreon
Нетрадиційний і децентралізований дизайн Git - в даний час розповсюджений і, здавалося б, очевидний - був революційним у той час і змінив те, як команди програмного забезпечення співпрацюють і розробляють!
На перший Git коміт можна подивитися тут. Окремо зацініть Readme файл.
Коротко про GIT від засновника:
«Глобальний трекер інформації»: у тебе гарний настрій, і все справді працює. Ангели співають, і кімната раптово наповнюється світлом.
«Чортів ідіотський вантаж лайна»: коли все ламається.
BWSwift 📱 YouTube 📱 Patreon
15.04.202510:50
👩💻Невеличка історія про будні розробника (від підписника)
Людина працювала собі спокійно на Xcode 16.2. Прилетіло оновлення macOS, людина без задньої думки оновила систему і…
І в Xcode відвалився дебагер… ну що ж, подумала людина, і встановила собі Xcode 16.3, дебагер запрацював 🎉. Але…
Але тепер НЕ всі коміти цієї людини проходять збірку на CI/CD, бо CircleCI досі не підтримують Xcode 16.3, бо не можуть пофіксити усі проблеми з ним повʼязані, тому білди збираються лише на Xcode 16.2.
І ось у людини ситуація - треба на проді пофіксити баг і залити хотфікс.
Алгоритм дій:
- ідемо в Xcode 16.3 щоб продебажити проблему і закодити рішення
- ідемо в Xcode 16.2 щоб перевірити що білд не зламався, бачимо, що білд зламався, шукаємо та реалізовуємо воркераунд
- 🔄повертаємся в Xcode 16.3 щоб переконатися, що баг з новим воркераундом пофікшено, дебажимо, вносим останні зміни
- 🔄ідем в Xcode 16.2 щоб переконатися, що білд все ще працює, коміт, пуш!
Хотфікс зроблено! 👩💻 Неймовірний DevEx!
🗣️ Що ви підкреслили для себе в цій історії?
——
Висилайте ваші історії з роботи напряму @bws2007
BWSwift 📱 YouTube 📱 Patreon
Людина працювала собі спокійно на Xcode 16.2. Прилетіло оновлення macOS, людина без задньої думки оновила систему і…
І в Xcode відвалився дебагер… ну що ж, подумала людина, і встановила собі Xcode 16.3, дебагер запрацював 🎉. Але…
Але тепер НЕ всі коміти цієї людини проходять збірку на CI/CD, бо CircleCI досі не підтримують Xcode 16.3, бо не можуть пофіксити усі проблеми з ним повʼязані, тому білди збираються лише на Xcode 16.2.
І ось у людини ситуація - треба на проді пофіксити баг і залити хотфікс.
Алгоритм дій:
- ідемо в Xcode 16.3 щоб продебажити проблему і закодити рішення
- ідемо в Xcode 16.2 щоб перевірити що білд не зламався, бачимо, що білд зламався, шукаємо та реалізовуємо воркераунд
- 🔄повертаємся в Xcode 16.3 щоб переконатися, що баг з новим воркераундом пофікшено, дебажимо, вносим останні зміни
- 🔄ідем в Xcode 16.2 щоб переконатися, що білд все ще працює, коміт, пуш!
Хотфікс зроблено! 👩💻 Неймовірний DevEx!
🗣️ Що ви підкреслили для себе в цій історії?
——
Висилайте ваші історії з роботи напряму @bws2007
BWSwift 📱 YouTube 📱 Patreon


23.04.202512:14
🔐 Захист SSH-ключів на GitHub через SSO організації
Якщо ви використовуєте GitHub Enterprise з SAML SSO, можна змусити всі SSH‑ключі проходити авторизацію через SSO вашої організації.
Це забезпечить:
• Централізоване управління доступом — коли співробітника видаляють з Org, його ключі автоматично втрачають доступ.
• Відповідність політикам безпеки — ключі мають бути пов’язані з перевіреним обліковим записом, а не “безіменними” файлами.
• Простішу ротацію ключів — користувачі можуть оновлювати або відкликати свої ключі прямо через GitHub UI.
Ключове:
• Після ввімкнення SSO без авторизації ключ не працюватиме. Навіть якщо його вкрадуть, то без додаткової авторизації з ним нічого не зробиш.
• CI/CD чи скрипти з особистими ключами також треба буде авторизувати.
В результаті ваш GitHub‑репозиторій отримає додатковий шар безпеки, а ви зможете спокійніше контролювати, хто і з чим працює.
BWSwift 📱 YouTube 📱 Patreon
Якщо ви використовуєте GitHub Enterprise з SAML SSO, можна змусити всі SSH‑ключі проходити авторизацію через SSO вашої організації.
Це забезпечить:
• Централізоване управління доступом — коли співробітника видаляють з Org, його ключі автоматично втрачають доступ.
• Відповідність політикам безпеки — ключі мають бути пов’язані з перевіреним обліковим записом, а не “безіменними” файлами.
• Простішу ротацію ключів — користувачі можуть оновлювати або відкликати свої ключі прямо через GitHub UI.
Ключове:
• Після ввімкнення SSO без авторизації ключ не працюватиме. Навіть якщо його вкрадуть, то без додаткової авторизації з ним нічого не зробиш.
• CI/CD чи скрипти з особистими ключами також треба буде авторизувати.
В результаті ваш GitHub‑репозиторій отримає додатковий шар безпеки, а ви зможете спокійніше контролювати, хто і з чим працює.
BWSwift 📱 YouTube 📱 Patreon


21.04.202513:22
👩💻Приклад рівнів шарів в HEIF фотографіях від Finn Jäger
BWSwift 📱 YouTube 📱 Patreon
Я досліджував, як HDR Gain Maps вбудовані в файли HEIF від Apple на iPhone - я написав інструмент екстрактора і знайшов ще купу допоміжних зображень - як і очікувалося, чорно-біла карта, яка, мабуть, закодована rec709 і закодована Display-P3 базове зображення.
BWSwift 📱 YouTube 📱 Patreon


18.04.202511:20
👩💻Як може виглядати майбутнє Swift і заміна Codable протоколу макросами - концепт
https://forums.swift.org/t/the-future-of-serialization-deserialization-apis/78585/2
🗣️ Поки що це просто концепт і не факт, що це колись додадуть в Swift, але хто зна як воно буде.
Хотіли б бачити такі API модельки у себе в коді?
BWSwift 📱 YouTube 📱 Patreon
Однією з негайних реакцій є те, що повинен бути один макрос @Coding, якщо це взагалі можливо, який приймає відповідні параметри. @Coding (key: "date_published", format:
• 1508601, default: -now) або щось подібне. Я також сподіваюся, що макроси зможуть зберегти типізовані ключі від Codable, щоб ми могли легко використовувати їх повторно.
https://forums.swift.org/t/the-future-of-serialization-deserialization-apis/78585/2
🗣️ Поки що це просто концепт і не факт, що це колись додадуть в Swift, але хто зна як воно буде.
Хотіли б бачити такі API модельки у себе в коді?
BWSwift 📱 YouTube 📱 Patreon


16.04.202518:15
👩💻 Новий агент від OpenAI
Посилання:
https://github.com/openai/codex
BWSwift 📱 YouTube 📱 Patreon
O3 та o4-mini дуже добре кодують, тому ми випускаємо новий продукт, Codex CLI, щоб полегшити їх використання.
Це агент кодування, який працює на вашому комп'ютері. він повністю відкритий і доступний сьогодні; ми очікуємо, що він швидко покращиться.
Посилання:
https://github.com/openai/codex
BWSwift 📱 YouTube 📱 Patreon


14.04.202511:55
📈 Статистика на чому написані застосунки в обох сторах!
Бачимо, що нативна розробка перемагає і там і там з великим відривом (і це не дивно).
Flutter та ReactNative закривають трійку лідерів.
🗣️ Цікаво бачити відсутність Kotlin в Appstore, бо виходить KMP чи настільки мало, чи відсутнє в рахуванні статистики.
Був здивований побачити Wix builder в Google Play.
SpriteKit тримайся друже, ми з тобою.
BWSwift 📱 YouTube 📱 Patreon
Бачимо, що нативна розробка перемагає і там і там з великим відривом (і це не дивно).
Flutter та ReactNative закривають трійку лідерів.
🗣️ Цікаво бачити відсутність Kotlin в Appstore, бо виходить KMP чи настільки мало, чи відсутнє в рахуванні статистики.
Був здивований побачити Wix builder в Google Play.
SpriteKit тримайся друже, ми з тобою.
BWSwift 📱 YouTube 📱 Patreon
Ko'rsatilgan 1 - 24 dan 1106
Ko'proq funksiyalarni ochish uchun tizimga kiring.