Swift Kullanarak iOS Uygulamaları Oluşturma Rehberi
Apple'ın Xcode ve Swift programlama dili aracılığıyla sunduğu kapsamlı geliştirme ekosistemi sayesinde iOS uygulamaları geliştirmek hiç bu kadar kolay olmamıştı. Bu makalede, araçları kurmaktan, yeni bir proje oluşturmaya, arayüzü tasarlamaya ve uygulamayı simülatörde çalıştırmaya kadar Swift kullanarak bir iOS uygulaması oluşturmanın temel akışını öğreneceksiniz. Bu eğitim giriş niteliğinde olsa da, adımlar basit ve çalışan bir uygulama oluşturmanıza yardımcı olmak için yeterli olmalıdır.
-
1. Araçların ve Gereksinimlerin Hazırlanması
Kod yazmaya başlamadan önce aşağıdaki cihazlara ve yazılımlara sahip olduğunuzdan emin olun:
1. MacBook/iMac (veya Apple cihazlarda macOS), çünkü Xcode resmi olarak yalnızca macOS'ta çalışır.
2. Xcode (Mac App Store'dan ücretsiz indirilebilir). Xcode, bir kod düzenleyici, bir iPhone simülatörü ve derleme ve hata ayıklama araçları içerir.
3. Swift (Xcode'a dahildir).
4. (İsteğe bağlı) Fiziksel cihazlara kurulum ve App Store'da yayınlama için Apple Geliştirici hesabı.
Xcode yüklendikten sonra uygulamayı açın ve gerekirse ek bileşenlerin kurulum işleminin tamamlanmasını bekleyin.
-
2. Xcode'da Yeni Bir Proje Oluşturun
1. Xcode'u açın.
2. "Yeni bir Xcode projesi oluştur" seçeneğini belirleyin.
3. Şablon bölümünde şunları seçin:
- iOS
- Uygulama
4. İleri'ye tıklayın, ardından proje yapılandırmasını doldurun:
– Ürün Adı: örneğin `HelloSwiftApp`
– Takım: Hesabınızı seçin (Giriş yapmadıysanız boş bırakabilirsiniz)
– Kuruluş Tanımlayıcısı: örneğin `com.devname`
– Arayüz: SwiftUI'yi seçin (daha modern ve yeni başlayanlar için daha basit)
Not: UIKit kullanmak isterseniz Storyboard'u seçebilirsiniz, ancak bu eğitim SwiftUI'ye odaklanmaktadır.
– Dil: Swift
5. İleri'ye tıklayın ve proje depolama konumunu seçin, ardından Oluştur'a tıklayın.
Proje oluşturulduktan sonra, `HelloSwiftAppApp.swift` ve `ContentView.swift` gibi bir dosya yapısı göreceksiniz.
-
3. SwiftUI Projesinin Temel Yapısını Anlamak
SwiftUI'da bir uygulamanın başlangıç noktası genellikle `YourAppNameApp.swift` dosyasıdır. Örneğin:
“hızlı
SwiftUI'yi içe aktarın
@ana
struct HelloSwiftAppApp: App {
var gövde: bazı Sahneler {
Pencere Grubu {
İçerikGörüntüleme()
}
}
}
"
Kısa açıklama:
– `@main` uygulamanın giriş noktasını belirtir.
– `WindowGroup`, ana görünüm kapsayıcısıdır.
– `ContentView()` görüntülenen ilk görünümdür.
Bu arada, `ContentView.swift` dosyası ana görünümü içeriyor:
“hızlı
SwiftUI'yi içe aktarın
struct ContentView: Görünüm {
var gövdesi: bazı Görünümler {
Metin("Merhaba dünya!")
.dolgu()
}
}
"
-
4. Basit Bir Kullanıcı Arayüzü Oluşturma: “Hızlı Notlar” Uygulaması
İşleri daha ilgi çekici hale getirmek için, kullanıcıların notlar yazıp bunları liste halinde görüntülemelerine olanak tanıyan "Hızlı Notlar" adlı basit bir uygulama oluşturacağız.
Adım 1: Giriş ve Liste için Durumlar Oluşturma
`ContentView.swift` dosyasını aşağıdaki şekilde değiştirin:
“hızlı
SwiftUI'yi içe aktarın
struct ContentView: Görünüm {
@State private var noteText: String = “”
@State private var notes: [String] = []
var gövdesi: bazı Görünümler {
Gezinme Görünümü {
VStack(aralık: 16) {
TextField(“Bir not yazın…”, text: $noteText)
.textFieldStyle(RoundedBorderTextFieldStyle())
.dolgu(.yatay)
Düğme(işlem: not ekle) {
Metin (“Not Ekle”)
.frame(maxWidth: .infinity)
}
.buttonStyle(.borderedProminent)
.dolgu(.yatay)
Liste {
ForEach(notes, id: \.self) { note in
Metin (not)
}
.onDelete(perform: deleteNote)
}
}
.navigationTitle("Hızlı Notlar")
}
}
özel fonksiyon addNote() {
let trimmed = noteText.trimmingCharacters(in: .whitespacesAndNewlines)
!trimmed.isEmpty ise, aksi takdirde geri dönün.
notlar.ekle(kırpılmış, şurada: 0)
notMetni = ""
}
özel işlev deleteNote(ofsetlerde: IndexSet) {
notlar.kaldır(atOffsets: offsets)
}
}
"
-
5. Önemli Kod Açıklaması
Anlaşılması gereken bazı temel kavramlar:
– @State: Değişecek verileri depolamak ve buna göre kullanıcı arayüzünün güncellenmesini tetiklemek için kullanılır.
– `noteText` girilen metni saklar.
– `notes`, notların bir listesini saklar.
– TextField: Metin giriş bileşeni.
`text: $noteText` bağlaması, TextField'ın doğrudan `noteText` durumuna bağlandığı anlamına gelir.
– Düğme(eylem:) : `addNote()` fonksiyonunu çalıştırmak için düğme.
– Liste + ForEach : Verileri liste şeklinde görüntüler.
`id: \.self` ifadesi, öğenin benzersiz bir dize olması nedeniyle kullanılır (basit bir örnek).
– onDelete: Kaydırma hareketiyle listeden öğeleri silmeyi sağlar.
-
6. Uygulamayı Simülatörde Çalıştırma
Uygulamayı çalıştırmak için:
1. Xcode'un üst kısmında hedef cihazı seçin, örneğin iPhone 15 (Simülatör).
2. Çalıştır düğmesine (üçgen simgesi ▶) tıklayın.
3. Simülatör açılacak, ardından uygulama otomatik olarak çalışacaktır.
Bir not yazmayı deneyin, "Not Ekle" düğmesine basın ve listede göründüğünü kontrol edin. Herhangi bir öğeyi silmek için sola kaydırın.
-
7. Basit Hata Ayıklama
Bir uygulama beklendiği gibi çalışmadığında şunları yapabilirsiniz:
– Hata günlükleri için Xcode'un altındaki Hata Ayıklama Konsolu paneline bakın.
– Değişken değerlerini kontrol etmek için `print()` eklendi:
“hızlı
print(“Eklenen not:”, kırpılmış)
"
Ayrıca Xcode, değişkenlerin içeriğini inceleyebilmeniz için programı belirli bir satırda durdurmanıza olanak tanıyan bir kesme noktası özelliği sunar.
-
8. Uygulamaları Geliştirme: Veri Doğrulama ve Depolama
Yukarıdaki uygulama notları geçici olarak saklamaya devam ediyor (uygulama kapatıldığında notlar kaybolacaktır). Geliştirmenin bir sonraki aşaması için şunları ekleyebilirsiniz:
1. Yerel Depolama (Kullanıcı Varsayılanları)
Uygulama kapatıldıktan sonra da kalıcı olması için notlardan oluşan bir diziyi UserDefaults'a kaydedin.
2. Veritabanı (Core Data/SQLite)
Daha karmaşık veriler için uygundur.
3. Notları Düzenle Özelliği
Kaydı değiştirmek için detay görünümü oluşturun.
4. Daha Çekici Kullanıcı Arayüzü
Simgeler, renkler ve daha temiz bir düzen ekleyin.
Kolay bir adım olarak, `JSONEncoder` ve `JSONDecoder` kullanarak kayıtları `UserDefaults`'a kaydederek başlayabilirsiniz.
-
9. kesimpulan
Swift ve SwiftUI, iOS uygulamaları oluşturmak için modern ve hızlı bir yol sunar. Bu eğitimde, yeni bir iOS projesi oluşturmayı, SwiftUI uygulamasının temel yapısını anlamayı, TextField'lar, Button'lar ve List'ler kullanarak basit bir kullanıcı arayüzü oluşturmayı ve uygulamayı simülatörde çalıştırmayı öğrendiniz. Uygulama henüz basit olsa da, bu temel, veri depolama, sayfa navigasyonu ve API entegrasyonu gibi daha karmaşık özelliklere geçmek için çok önemlidir.
İsterseniz, bu eğitimin daha gelişmiş sürümlerini oluşturmanıza da yardımcı olabilirim; örneğin UserDefaults/Core Data ile kalıcı depolama eklemek, NavigationStack ile detay sayfası oluşturmak veya URLSession kullanarak internetten veri çeken bir uygulama oluşturmak gibi.