iOS Такой 🍏
3.41K subscribers
417 photos
10 videos
2 files
300 links
IT | Подкасты | Apple | iOS Материалы | Swift

Реклама: @new_repository

Тёплый чат: https://t.me/+tzWmsOMTPpFjMzAy

Бусти: boosty.to/dimov_ios
Download Telegram
Аналитика пользователей iOS 18 охватила 68% всех iPhone

В пятницу компания Apple опубликовала новые данные, свидетельствующие о популярности iOS 18. Выпущенная в сентябре 2024 года, мобильная операционная система сейчас установлена на 68% совместимых устройств. Это число увеличивается до 78% на iPhone, выпущенных за последние четыре года.

Что касается остальных iPhone, то 19% из них работают под управлением iOS 17, а 13% используют более раннюю версию. Аналогично, 19% iPhone, выпущенных за последние четыре года, в настоящее время работают под управлением iOS 17.

С более ранними версиями iOS этот показатель снижается до 5% — это вполне объяснимо, учитывая общий процент устройств, которые поставлялись с iOS 17 или 18, а также склонность ранних пользователей поддерживать свои устройства на последних обновлениях ОС. В целом, представленные цифры похожи на те, что Apple опубликовала в 2024 году по поводу внедрения iOS 17.
💡 SwiftUI Совет

Автозаполнение кодов подтверждения — одна из лучших функций в iOS.

Чтобы явно включить её для текстового поля, просто используйте:
.textContentType(.oneTimeCode)
Forwarded from Мобильный кот (Vasiliy Usov)
👑 SwiftGPT: Библиотека для работы с ChatGPT

Выложил на GitHub первую версию библиотеки SwiftGPT. Она предназначена для интеграции возможностей ChatGPT в iOS/macOS/Linux проекты.

⭐️ Особенности

- Совместимость с официальным OpenAI API: интерфейс основан на стилях OpenAI.
- Поддержка Swift 6 и Swift Concurrency.
- Мультиплатформенность: работает на всех платформах Apple (iOS, macOS, watchOS, tvOS) и даже на Linux.

⬆️ Основные функции

- Поддержка Chat Completions (генерация текста)
- В планах: Assistants API, Text-to-Speech, Text Transcriptions, Image generation и др.
- Возможность указать URL для запросов (актуально для РФ, когда делаешь свой прокси)

Почему я занялся SwiftGPT

Я давно интересуюсь искусственным интеллектом и активно применяю его решения в своих проектах. Для одной из задач мне потребовался API ChatGPT, но я обнаружил, что официального SDK для iOS не существует. Сначала я задумался о создании собственной библиотеки, но обратил внимание на пакет ChatGPTSwift.

У данной библиотеки есть сильная сторона — использование OpenAPI 3.0 спецификации для сетевого слоя. То есть разработчик взял официальную спецификацию и использую
пакет от Apple Swift OpenAPI Generator сгенерировал сетевой слой.

На мой взгляд, это супер эффективное решение, которое позволяет упростить интеграцию с любым бекендом.

Однако, реализация ChatGPTSwift имела ряд проблем, которые требовали исправлений.

🤕 Проблемы ChatGPTSwift и их решения

- Единый монолитный класс: библиотека объединяла все функции в одном классе, что снижало читаемость и масштабируемость. Я переработал архитектуру, распределив функции в соответствии с официальным ChatGPT API.
- Неудобное API: оригинальное API библиотеки отличалось от OpenAI API. Теперь интерфейс полностью соответствует официальной документации, что минимизирует порог вхождения.
- Ошибки Swift Concurrency: вместо необоснованных решений вроде @unchecked Sendable, я внедрил корректную поддержку Swift Concurrency.
- Сложные названия типов и свойств: автогенерированные имена вроде text_event_hyphen_stream заменены на более понятные и привычные — например, textEventStream.
- Баги и устаревший API: обновил сетевой слой до актуальной версии API и устранил ошибки в логике.
- Архаичная обработка контекста токенов: библиотека обрезала контекст до 4000 токенов, хотя ChatGPT последней версии поддерживает 128 000. Это ограничение устранено.

💊 Что дальше

Переработка библиотеки — это лишь начало работы. Сейчас SwiftGPT поддерживает основные функции, но я продолжаю тестировать её в реальных проектах, а также развивать поддержку новых и существующих API OpenAI.

# Пример использования

Все максимально просто

import SwiftGPT

// Установка API key
OpenAI.Configuration.apiKey = .apiKey("your-api-key")

Task {
// создание сессии
let chat = OpenAI.Chat()
// запрос
let response = try await chat.completions(prompt: "Как погода сегодня?")
print("Ответ: \(response)")
}

Если вам нужно интегрировать ChatGPT в iOS/macOS/Linux приложение, уже сейчас вы можете использовать SwiftGPT.

Забрать/посмотреть можно тут.

Теперь эта библиотека открыта для обратной связи и предложений сообщества!
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Ваши вопросы к выпуску про увольнения

Планируем выпуск про увольнения в IT. Если у вас есть интересные вопросы и хотите, чтобы его разобрали — пишите в комментарии.
💡 SwiftUI

Легко создавайте светящуюся градиентную рамку в SwiftUI, используя модификаторы stroke() и shadow().
Потоки под капотом: как работают многопоточность и синхронизация

В решении рабочих задач и прохождении собеседований часто затрагиваются вопросы, связанные с многопоточностью и самими потоками, а также с необходимостью их синхронизации. Однако что происходит за кулисами этих процессов? Как функционирует механизм потоков изнутри?

В данной статье мы рассмотрим детали этой темы, а именно:

1. Проанализируем работу потоков;
2. Выявим скрытые механизмы, обеспечивающие их функционирование;
3. Определим, какую пользу практикующим iOS‑разработчикам приносит понимание внутреннего устройства потоков.
coming soon
💡 Совет по SwiftUI

Легко настройте минимальную высоту для всех строк в List
This media is not supported in your browser
VIEW IN TELEGRAM
SwiftUI скрытие TabBar

В этом видео создадите прокручиваемый интерфейс с таб-баром, который плавно скрывается и появляется при прокрутке — это выглядит стильно, аккуратно и очень функционально
This media is not supported in your browser
VIEW IN TELEGRAM
Тим Кук анонсировал таинственную презентацию Apple

• Она пройдёт 19 февраля: Ждем iPhone 4SE.
🍏 Инсайдер Джон Проссер показал, как будет выглядеть iPhone 17 Pro

• Как вам?
Совет по SwiftUI

В iOS 16.0+ вы можете добавлять как внутренние, так и внешние тени, используя .inner() и .drop().
Всем привет! Мы записали два выпуска. В эту среду выйдет подкаст про увольнения, а в следующий понедельник мы релизним про выгорание.

Мы очень хотели бы поговорить о том как учить новые технологии, когда работаешь или когда лень.

Нужны гости, кому интересно пишите.
Как понять, что вы станете хорошим разработчиком

Разработка — это динамичная и постоянно развивающаяся область, которая привлекает множество людей. Но как понять, обладаете ли вы необходимыми качествами, чтобы не просто стать разработчиком, а стать хорошим разработчиком? Эта статья поможет вам разобраться в этом вопросе, предоставив подробный анализ ключевых навыков, личностных качеств и признаков, которые указывают на потенциал в сфере разработки.
🍏 Инсайдер Digital Chat Station показал свою версию концепта iPhone 17 Pro.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Реализация Shake effect в SwiftUI
ЗА ЧТО ТЕБЯ МОГУТ УВОЛИТЬ В IT?

Всем привет! Сегодня мы говорим про увольнения в IT.
За нашим столом интересные гости с большим опытом. В этом подкасте мы разбираем непростую тему увольнений в IT. Обсуждаем причины сокращений, как подготовиться к увольнению, эффективные стратегии поиска новой работы, что делать после и не только. Слушайте и делитесь своим опытом!

Спасибо ребятам, что пришли! Подписывайтесь на них, они классные.

🍏 Сергей Ирбеткин, Lead РКБ
🍏 Никита Павлов, Lead Звук
🍏 Вихляев Сергей, Lead iOS, спикер Mobius. YouTube и Inst Сергея.

Так же для удобства, видео доступно на бусти.
Please open Telegram to view this post
VIEW IN TELEGRAM
Apple представила iPhone 16e за $599
Please open Telegram to view this post
VIEW IN TELEGRAM
🍏 iPhone 16e урезали по максимуму

• Он не поддерживает быструю зарядку и MagSafe;
• Установлен дисплей от iPhone 14;
• Установлен урезанный чип А18, на два ядра меньше, чем у iPhone 16 Pro;
• Не поддерживает портретный режим, киноэффект и суперстабилизацию.

Из новенького:
• Он первым получил собственный модем Apple C1.
Please open Telegram to view this post
VIEW IN TELEGRAM
🍏 Сравнение iPhone SE 3 и iPhone 16e
Please open Telegram to view this post
VIEW IN TELEGRAM