Playground: Performans Sorunlarını Çözme

Playground projesi geliştirirken karşılaştığınız performans sorunlarını çözmeyi öğrenin!

Baran Önen
TurkishKit
3 min readApr 5, 2021

--

Merhaba sevgili TurkishKit okuyucuları!👋 Bu yazımızda Playground projesi geliştirirken karşılaşma olasılığınızın yüksek olduğu performans sorunlarından ve olası çözümlerinden bahsedeceğim.⚠️

Playground ortamında karşımıza çıkan performans sorunları, projenizin macOS’te sorunsuz çalışmasına rağmen iPadOS’te çalışmaması veya direkt olarak hiç bir platformda çalışmamasına sebep olabilir.😬

macOS’de sorunsuz çalışan bir projenin iPadOS’de çalışmamasının sebebi, büyük bir ihtimalle iPad ve iPhone gibi mobil cihazların RAM’lerinin Mac gibi daha güçlü cihazlara göre az olmasıdır.

Geliştirdiğiniz projenin harcadığı RAM miktarı sistem tarafından belirlenen bir sınırı geçtiğinde projeniz otomatik olarak durdurulabilir.🛑

Gördüğünüz örnekte SpriteView kullanılarak geliştirilmiş olan bir sayfa, Playground ortamında çalıştırılamıyor. Sorunun kodda olmadığını doğrulamak için aynı kodla bir iOS projesi oluşturalım ve bunu simülatörde çalıştırmayı deneyelim.

İyi haber, projemiz sorunsuz şekilde çalışıyor!🎉 SpriteKit ile yazılan bu animasyon, TurkishKit logosunu ekranın solundan sağına doğru taşıyabiliyor. Peki, Playground projesinin harcadığı RAM miktarını nasıl düşürebiliriz?

Platformdan bağımsız olarak bir Playground veya Playground Book projesi, geliştirici tarafından özellikle belirtilmediği sürece her şeyin bir ‘log’ unu, yani günlüğünü tutar. Bunu Xcode’da bir Playground dosyası oluşturup kodun sağ tarafında gözlemleyebilirsiniz.

Bu özellik, yazdığımız koddaki hataları bulmakta bize yardımcı olabilse de sisteme ekstradan yük binmesine sebep oluyor. Neyse ki Apple, günlük tutmayı kapatabilmemiz için bize bir seçenek sunuyor.

Bu seçeneği kullanabilmek için öncelikle Xcode’dan sorunun gerçekleştiği sayfanın klasörüne gidin. Daha sonra sayfanın “Manifest.plist” dosyasını açın.

İmleci en alttaki veri olan “LiveViewMode”un (projeden projeye değişiklik gösterebilir) üstüne getirin ve ortaya çıkan + tuşuna basın. İsim olarak “PlaygroundLoggingMode” ve değer olarak “Off” yazın. Ayrıca veri tipinin String olduğundan emin olun.

Daha sonra cmd+shift+K kısayolunu kullanarak ‘build’ klasörünü temizleyin ve cmd+B kısayolunu kullanarak projeyi tekrardan ‘build’ edin.

İşte bu! Projemiz tekrardan sorunsuz bir şekilde çalışıyor. Projeniz SpriteKit ve RealityKit gibi fazla kaynak kullanan kütüphaneleri içeriyorsa bu yöntemi kullanarak RAM kullanımını azaltabilirsiniz.

Projenizin çalışmamasının tabii ki bir çok sebebi olabilir, ancak bu çözüm büyük bir ihtimalle sorununuzu çözecektir.

Umarım sorununuzu çözmeye yardımcı olabilmişimdir. Bir sonraki yazımızda görüşmek üzere.👋

Bizi daha yakından takip etmek istiyorsanız, sosyal medya hesaplarımıza aşağıdan ulaşabilirsiniz!

Twitter | Instagram | Facebook

--

--