Davet et, 1 ay ücretsiz Pro kazanNasıl çalışır?

Cursor Agent ile Swift ve iOS Projelerinde Çalışmak

Cursor Agent’ı Swift ve iOS projelerinde kullanma rehberi: AGENTS.md kuralları, çalışma döngüsü, test komutları ve paralel ajan ipuçları.

Solviera Teknoloji 5 dk okuma

Cursor Agent, cursor-agent komutuyla proje klasöründe başlattığınız terminal tabanlı bir kodlama ajanıdır. Swift ve iOS projelerinde xcodebuild, swift build ve xcodebuild test gibi komutları gerçekten çalıştırır; Swift kaynaklarını okur, düzenler ve test sonuçlarını yorumlar. Bu yazıda ajanı SwiftUI ve UIKit projelerinizde güvenli bir döngüyle kullanmanın pratik yollarını anlatıyorum; daha genel kurulum için Cursor Agent sayfasına bakabilirsiniz.

Neden Cursor Agent Swift ve iOS işlerine uyuyor

Cursor Agent’ın Swift/iOS tarafında asıl değeri, Xcode GUI dışında da tam bir build-test döngüsü kurabilmesidir. swift build ile SPM paketlerini derler, xcodebuild -list ile projenin scheme ve hedeflerini görür, simülatörde xcodebuild test -destination komutunu çalıştırır. Bu sayede yalnızca kod önerisi değil, derleyici hatalarını ve test başarısızlıklarını da okuyup düzeltebilir. Swift’in güçlü tip sistemi ve async/await gibi modern özellikleri, ajanın çıktısını hızlı doğrulamayı kolaylaştırır: hatalı bir async çağrı veya actor izolasyonu genellikle derleme aşamasında yakalanır. Ayrıca ajan dosya bazlı diff ürettiği için SwiftUI view’larındaki küçük değişiklikleri, UIKit controller’larındaki refactor’ları ve test hedeflerini aynı oturumda yönetebilirsiniz. Xcode’un aksine ajan, proje klasöründeki her Swift dosyasını okuyabilir; aynı anda birden fazla hedefi analiz edip çapraz referansları görebilir. Bu, özellikle çok modüllü veya Swift Package Manager ile bölünmüş projelerde işe yarar.

Projeyi ajana hazırlamak: AGENTS.md ve .cursor/rules

Cursor Agent proje kökündeki AGENTS.md dosyasını öncelikli olarak okur; .cursor/rules altındaki kural dosyalarını da proje bağlamı olarak kullanır. Swift ve iOS projelerinde bu dosyaya mutlaka build, test ve lint komutlarını, klasör yapısını ve değiştirilmemesi gereken dosyaları yazın. Böylece ajan her adımda Xcode projesinin nasıl derleneceğini ve testlerin hangi simülatörde koşacağını bilir. Gerçekçi bir örnek:

# AGENTS.md

## Komutlar
- Build: `swift build` veya `xcodebuild -scheme MyApp -destination 'platform=iOS Simulator,name=iPhone 15' build`
- Test: `xcodebuild test -scheme MyApp -destination 'platform=iOS Simulator,name=iPhone 15'`
- Lint: `swiftlint --strict`

## Klasör düzeni
- `MyApp/` uygulama kaynakları (SwiftUI view'ları ve UIKit controller'ları)
- `MyAppTests/` XCTest birim testleri
- `MyAppUITests/` XCUITest UI testleri
- `Shared/` ortak modeller ve servisler

## Kurallar
- Swift 5.9+ ile async/await kullan; DispatchQueue yalnızca zorunluysa.
- SwiftUI state yönetimi için iOS 17+ ise `@Observable`, değilse `ObservableObject` kullan.
- `project.pbxproj` dosyasını elle düzenleme; hedef eklemek için xcodegen veya Xcode kullan.
- Kod imzalama, takım ve entitlement değerlerini değiştirme; bunlar `MyApp.entitlements` ve Build Settings'te elle yönetilir.
- Her ağ veya model değişikliğinden sonra birim testleri çalıştır.

Ayrıca Cursor CLI nasıl kullanılır? Adım adım rehber sayfası, terminal ajanının genel akışını anlamak için iyi bir tamamlayıcıdır.

Çalışma döngüsü: planla, küçük adımlar at, test et, diff’i incele

Ajana büyük bir görev vermek yerine, her seferinde tek bir davranışı değiştiren bir diff isteyin. Önce görevi iki-üç cümleyle tanımlayın, ajanın önce plan sunmasını isteyin; planı onayladıktan sonra uygulatın. Her adımdan sonra git diff ile değişiklikleri inceleyin, xcodebuild test veya swift test çalıştırın ve yalnızca yeşil testlerden sonra devam edin. Ajan bir test hatası döndürürse hatayı yeni girdi olarak verin; böylece derleyici ve test çıktısı döngünün parçası olur.

Örnek görev komutları:

  • Mevcut User modelini async/await ile API’den çeken bir UserService ekle; hata durumlarını UserServiceError enum’u ile yönet, URLProtocol mock’u kullanarak XCTest testi yaz.
  • SwiftUI listesinde @Observable kullanarak ekleme ekranını MVVM’e ayır, @MainActor izolasyonunu koru ve mevcut testleri güncelle.
  • UIKit’teki UICollectionView akışını diffable data source’a geçir; eski UICollectionViewDataSource yöntemlerini sil, hücre kayıtlarını modern hale getir.
  • xcodebuild test çıktısına göre başarısız olan ağ testini düzelt; zaman aşımı süresini ve hata mesajı eşlemesini güncelle.
  • Uygulama hedefini Swift Package Manager’a taşı: Package.swift oluştur, mevcut kaynakları Sources/ altına al ve test hedefini bağla.

Bu döngüde ajanın her adımda xcodebuild çıktısını okumasını isteyin; böylece sorunlar erken yakalanır. Özellikle SwiftUI preview’ları CLI ortamında çalışmadığından, görsel doğrulamayı Xcode’da siz yapın; ajan derleme ve test ile sınırlı kalsın.

Cursor Agent’ın iyi yaptığı Swift/iOS işleri ve dikkat edilecek noktalar

Ajan özellikle kod tabanlı SwiftUI ekranları, UIKit refactor’ları, ağ katmanı, modeller ve XCTest birim testleri yazarken verimlidir. Tablo, tipik görevlerle birlikte Swift/iOS’e özgü tuzakları özetliyor:

GörevDikkat edilecek nokta
SwiftUI view ekleme veya state refactor’u@Observable/ObservableObject seçimi, @MainActor izolasyonu ve preview çalıştırmadan derleme doğrulaması
UIKit controller refactor’uUICollectionView/UITableView diffable data source geçişinde hücre kayıt ve snapshot hataları
Ağ katmanı ve async/await servisleriURLSession mock’u, hata tipleri ve zaman aşımı; test hedeflerinde canlı ağa çıkmamak
Core Data veya SwiftData model değişiklikleriMigration gereksinimleri, @Model makro kullanımı ve mainContext thread güvenliği
Test hedefi güncellemeTest dosyalarının target membership’ini korumak, @testable import hatası

Ajanın en sık zorlandığı noktalar şunlardır: Xcode proje dosyası project.pbxproj içindeki manuel değişiklikler, kodsal imzalama ve provisioning profile, Info.plist değerlerinin yanlış düzenlenmesi, storyboard/xib dosyalarındaki XML yapısının bozulması. Bu tür dosyaları ajana değiştirtmeyin; kuralları AGENTS.md içinde net olarak belirtin.

Swift ve iOS için test ve doğrulama

Ajanla çalışırken test komutlarını her zaman proje kökünden çalıştırın. SPM tabanlı bir modülde swift test yeterlidir; Xcode projesi için xcodebuild test -scheme MyApp -destination 'platform=iOS Simulator,name=iPhone 15' kullanın. Ajana test çıktısını ayrıntılı okumasını söyleyin: hatalı assertion, beklenmedik nil, async task iptali gibi bilgileri yakalar. UI testleri için xcodebuild test -only-testing:MyAppUITests komutunu ekleyerek yalnızca ilgili testleri koşturun. Testlerden sonra git diff --check ile boşluk hatalarını ve swiftlint --strict ile stil sorunlarını denetletin. Ajanın önerdiği değişiklikleri uygulamadan önce git diff üzerinde satır satır inceleyin; özellikle concurrency ile ilgili @Sendable closure’lar ve Task yapıları hata üretebilir. Bir test başarısız olduğunda ajanın hatayı düzeltmesi için test çıktısının tamamını girdi olarak verin; bu, döngünün en kritik adımıdır.

Birden fazla ajanı tek Swift/iOS projesinde çalıştırmak: AgentVera

Swift ve iOS projelerinde paralel ajan çalıştırmak genellikle dosya çakışmalarına yol açar. AgentVera, her ajanı kendi git worktree’sinde çalıştırarak bu sorunu çözer; böylece bir ajan UserService üzerinde çalışırken diğeri HomeView’u güvenle değiştirebilir. Ajan turu bittiğinde otomatik kod incelemesi, Swift’e özgü hataları file:line ile gösterir; checkpoint’ler sayesinde yanlış bir refactor tek tıkla geri alınabilir. Bu üç özellik, UIKit ve SwiftUI kodunun birbirine karıştığı projelerde riski ciddi şekilde azaltır.

Sonuç

Cursor Agent ile Swift/iOS geliştirme, doğru kurallar ve disiplinli bir döngü ile Xcode dışındaki terminal ortamında bile etkili hale gelir. AGENTS.md dosyasını baştan hazırlayın, her değişiklikten sonra test çalıştırın ve project.pbxproj gibi Xcode’a özel dosyaları koruyun. Paralel çalışmalar için worktree tabanlı çözümleri değerlendirin; böylece ajanlar birbirinin işini bozmadan büyük refactor’ları parçalara bölebilir. Daha geniş bir perspektif için Yapay zeka ile mobil uygulama yapmak: Expo’dan mağazaya yazısına göz atabilirsiniz.

Sık sorulanlar

Cursor Agent Swift ve iOS projesinde nasıl başlatılır?

Proje klasöründe terminalden cursor-agent komutunu çalıştırın. İlk çalıştırmada hesap girişi isteyebilir, ardından proje kökündeki AGENTS.md dosyasını okur. Build ve test komutlarını bu dosyada tanımlıysa kullanır.

Cursor Agent Xcode projelerinde project.pbxproj dosyasını düzenleyebilir mi?

Teknik olarak düzenleyebilir, ancak bu dosyayı elle değiştirmek risklidir. AGENTS.md içinde project.pbxproj dosyasını değiştirmemesini söylemeniz önerilir; hedef ekleme gibi işlemleri Xcode veya xcodegen ile yapın.

Cursor Agent SwiftUI ve UIKit kodunu aynı projede yönetebilir mi?

Evet, dosya bazlı diff ürettiği için SwiftUI view’larını, UIKit controller’larını ve ikisi arasındaki bridging kodunu aynı oturumda değiştirebilir. Storyboard/xib gibi arayüz dosyalarını Xcode dışında düzenlemek yerine kod tabanlı UI tercih etmek daha güvenlidir.

Cursor Agent ile XCTest ve UI testleri nasıl çalıştırılır?

Ajana xcodebuild test -scheme MyApp -destination 'platform=iOS Simulator,name=iPhone 15' komutunu çalıştırmasını söyleyin. Test çıktısını okur, hataları düzeltmek için gerekli kaynak değişikliklerini önerir. SPM modüllerinde swift test yeterlidir.

Ajanlarını bir masaya topla.

AgentVera’yı ücretsiz indir; kurulu CLI’ların hazır.

Diğer Cursor Agent rehberleri

Swift ve iOS için diğer ajanlar