NSURLSessionConfiguration, iOS ve macOS uygulamaları için kullanılan bir ayarlama aracıdır Bu yazılım, uygulamanın internet bağlantılarına nasıl yanıt vereceğini belirler URLSessionConfiguration nasıl ayarlanır? İşte, size adım adım açıklıyoruz!

Merhaba, bu makalede NSURLSessionConfiguration API'si hakkında bilgi edineceksiniz. NSURLSessionConfiguration, NSURLSession API'sinin yapısını belirlemek için kullanılan bir API'dir. Bu API, URL session'ları yapılandırmak için özellikler sunar ve seçtiğiniz yapılandırmaya göre farklı davranır. URLSessionConfiguration varsayılan ayarlarla oluşturulabilir veya belirli bir öğe için de oluşturulabilir. Şimdi, URLSessionConfiguration API'sinin daha ayrıntılı özellikleri hakkında bilgi vereceğiz.
NSURLSession ağ aramaları yapmak için yaygın olarak kullanılır. Yeni bir URL session oluştururken, NSURLSessionConfiguration API'si ile nasıl yapılandırmak istediğinizi belirleyebilirsiniz. API, varsayılan URLSessionConfiguration içeriği sağlar. URLSessionConfiguration API'si, size varsayılan olarak gelen yapılandırmayı değiştirmenizi ve farklı bir yapılandırma oluşturmanızı sağlar. Bu özel yapılandırma belirli bir öğe için de kullanılabilir. Bu örneği, bir istek giderken ne kadar zaman verilen zaman aşımı olduğunu belirlemek için kullanabilirsiniz. Yani, bu özellikler kullanılarak NSURLSessionConfiguration API'si yapısı ve işleyişi belirlenir.
Bu API hakkında daha fazla bilgi edinmek isterseniz, Apple belgelendirmelerini veya diğer siteleri ziyaret edebilirsiniz. Ayrıca, bu makalede bahsedilen özellikler hakkında daha fazla bilgi edinmek için bu makaledeki örnek kodları kullanabilirsiniz. URLSessionConfiguration API'si, iOS geliştiriciler için çok önemli bir kaynaktır ve onların işlerini kolaylaştırır. Bu nedenle, bu API'yi daha yakından incelemek faydalı olacaktır.
NSURLSession Nedir?
NSURLSession, iOS'ta ağ araması yapmak için kullanılan bir API'dir. NSURLSession, HTTP ve HTTPS protokollerini kullanarak bir URL'ye istek atmak veya HTTP isteklerinin yanıtlarını aldırmak için kullanılabilir. NSURLSesssion, gelen yanıtların başarılı veya başarısız olduğunu öğrenir ve uygun bir yanıtı işleyebilir. URLSession'in oluşturulması için NSURLSessionConfiguration öğesinin yapısı belirlenmelidir. URLSession, uygulama tarafından verilen bir özel işlem sınıfında istekleri işler ve bu işlem sınıfı, sesi ön plana çıkarmak için kullanılabilir.
NSURLSessionConfiguration Nedir?
NSURLSessionConfiguration, NSURLSession API'sinin yapısını belirlemek için kullanılır. NSURLSession API'si, iOS'da ağ araması yapmak için kullanılan bir araçtır. Bu API, iOS uygulamalarının web servislerine veya sunuculara bağlanmasına ve veri alışverişinde bulunmasına olanak tanır. NSURLSessionConfiguration, bir NSURLSession örneği oluşturmak için kullanılır.
NSURLSessionConfiguration, varsayılan ve arka plan modu olmak üzere iki tür yapılandırmaya sahiptir. Varsayılan yapılandırma, HTTP isteklerinin önbelleğe alınması, HTTPS etkinleştirme, timeout sürelerinin belirlenmesi gibi ayarlamaları yapar. Arka plan modu ise, uygulamanın arka planda çalışması için gerekli yapılandırmaları sağlar. Discretionary anahtar değeri, arka planda ne zaman veri alışverişinde bulunacağını belirlerken SessionSendsLaunchEvents ise, uygulama arka planda çalışırken yeni veriler için bildirim gönderir.
NSURLSessionConfiguration, varsayılan yapılandırma örneğini kullanarak veya URLSessionConfiguration.create yöntemi ile belirli bir öğe için yapılandırma yaparak oluşturulabilir. Bu API, ağ arama ile ilgili birçok özelliği içerisinde barındırır. URLRequest örneği kullanarak isteklerin oluşturulması, yönlendirmelerin yönetilmesi, işlemin askıya alınması ve devam etmesi, arka planda veri alışverişi yapılması, timeout sürelerinin belirlenmesi ve daha birçok işlem de yapılabilmektedir.
Default URLSessionConfiguration Nedir?
NSURLSessionConfiguration API, iOS platformunda ağ araması yapmak için kullanılan bir yapıdır. Bu API, yapılandırma özellikleriyle kullanıcıların tercihlerine göre özelleştirilebilir. NSURLSession, varsayılan yapılandırmaya sahip bir URL session oluşturmak için NSURLSessionConfiguration API'sini kullanır. Varsayılan yapılandırma, çoğu durumda yeterli olan özellikleri içerir.
URLCache, varsayılan yapılandırmada, HTTP isteklerinin önbelleğe alınması için kullanılır. TimeoutIntervalForRequest, bir isteğin tamamlanması için izin verilen en fazla süredir ve varsayılan yapılandırmada saniye cinsinden belirlenir. Bu süre otomatik olarak istek süresinden daha uzun olursa, isteğin zaman aşımına uğrayarak sonlandırılır.
NSURLSessionConfiguration API'nin varsayılan ayarları, ağ verilerine erişim gerektiren iOS uygulamaları için en yaygın kullanılan yapılandırmadır.
URLCache
varsayılan URLSessionConfiguration API yapılandırmasında otomatik olarak kullanılır. NSURLCache, geçici bellek alanını kullanarak HTTP isteklerini önbelleğe alır. Bu, aynı isteğin birden fazla kez yinelenmesinden kaçınır ve ağ trafiği oluşturmaz. NSURLCache'in boyutu sınırsız değildir, bunun yerine bir yapılandırma tipi olan URLCache'de boyut sınırları belirleyebilirsiniz. Kendi URLCache'inizi oluşturabilir ve bunu NSURLSessionConfiguration'unuzda kullanabilirsiniz.
TimeoutIntervalForRequest
TimeoutIntervalForRequest, bir isteğin tamamlanması için izin verilen en fazla süreyi belirler. Varsayılan yapılandırmada, bu süre 60 saniyedir. Ancak, isteğin daha uzun sürebileceği durumlarda bu süre yetersiz olabilir. Bu nedenle, timeout süresi gereksinimlerinize göre değiştirilebilir.
Timeout süresinin uzatılması, tüm istekler için geçerli olacağından, genellikle geçerli tüm NSURLSessionConfiguration örneklerinde tanımlanır. Timeout süresi için saniye cinsinden bir sayı belirtilir. Örneğin, 100 saniyelik bir süre belirleme için aşağıdaki kod kullanılabilir:
let configuration = URLSessionConfiguration.defaultconfiguration.timeoutIntervalForRequest = 100
Ayrıca, NULL değeri de atanabilir. Bu durumda, sistem işlemin tamamlanması için gereken süreyi kendisi belirleyecektir.
Background URLSessionConfiguration Nedir?
NSURLSessionConfiguration, bir URLSession'ın arka planda çalışması için farklı ayarlar yapmak için kullanılır. Bu ayarlar, kullanıcının veri alışverişini azaltmak ve enerji tüketimini minimize etmek gibi amaçlar için kullanılabilir.
Ayar Özelliği | Açıklama |
---|---|
discretionary | Bu ayar, URL yüklemelerinin ne zaman gerçekleştirileceğini belirlemek için kullanılır. |
sessionSendsLaunchEvents | Bu ayar, uygulama arka planda çalışırken yeni veriler için bildirim gönderir. |
backgroundSessionRequiresSharedContainer | Bu ayar, birden çok uygulama arasında veri paylaşımı gerektiğinde kullanılır. Uygulama ile birlikte veriler paylaşabilir. |
NSURLSessionConfiguration API'si, arka planda veri alışverişinde bulunan uygulamalar için çok yararlı bir araçtır. Bu özellikler, uygulamanın performansını önemli ölçüde artırabilir ve kullanıcı deneyimini iyileştirebilir.
Discretionary
Bir NSURLSession yapılırken, Discretionary adlı bir anahtar değer ataması yapılabilir. Discretionary anahtar değerinin bir boolean olarak atanması, arka planda bir veri alışverişi sırasında ne zaman çalışacağını belirler. Bu, bir kullanıcının telefonunu kullanırken, arka planda bir veri alışverişi gerçekleşirken ne yapmak istediğine dair bir seçenek sunar.
Discretionary anahtar değeri atandığında, arka planda veri alışverişi, kullanıcının çevre koşullarına, pil durumuna ve ağ bağlantısına bağlı olarak planlanır. Bu sayede, arka planda yapılan işlem işlemci veya kaynak kullanımını yükseltmez ve pil ömrü boyunca verimli bir şekilde çalışmasını sağlar.
Discretionary anahtar değeri, varsayılan yapılandırmada false olarak atanır. Buna ek olarak, Discretionary anahtar değeri, arka planda anlık hava durumu güncellemeleri gibi düzenli işlemler için kullanılabilir. Discretionary anahtar değeri atanmadığında, her an güncelleme yapılmaya çalışılır ve pili fazla tüketebilir.
SessionSendsLaunchEvents
NSURLSessionConfiguration API'si, iOS uygulamalarında ağ aramaları yapmak için önemli bir araçtır. Bu API, arka planda çalışırken yeni veriler için uygulama bildirimleri göndermek için de kullanılabilen SessionSendsLaunchEvents özelliğine sahiptir.
Bu özellik, arka planda çalışan NSURLSession belirli bir işlemi tamamladığında, uygulamanın bildirim göndermesine izin verir. Bu, uygulamanın kullanıcının ilgisini çekmek ve onların uygulamayı açmasını sağlamak için önemli bir araçtır.
Ayrıca, SessionSendsLaunchEvents özelliği, arka plandaki veri alışverişini optimize etmek için Discretionary özelliği ile birlikte kullanılabilir. Bu özellik, arka planda ne zaman veri alışverişinde bulunulacağını belirleyen bir anahtar değerdir. Bu da veri kullanımını optimize ederek pil ömrünü korumaya yardımcı olur.
NSURLSessionConfiguration API'sinin özellikleri hakkında daha fazla bilgi edinmek için, varsayılan veya benzersiz ayarları kullanarak bir URLSession örneği oluşturup inceleyebilirsiniz.
NSURLSessionConfiguration Örneği Nasıl Oluşturulur?
Bir NSURLSession oluşturmak için, NSURLSessionConfiguration örneği gerekmektedir. NSURLSessionConfiguration, NSURLSession nesnesinin yapılandırılması için kullanılır. NSURLSessionConfiguration, varsayılan ayarlarla bir örnek oluşturarak başlatılabilir veya belirli bir öğe için yapılandırılabilir.
Varsayılan yapılandırma örneği oluşturmak için, NSURLSessionConfiguration.default metodu kullanılabilir. Bu şekilde, varsayılan özelliklere sahip bir nesne oluşturulabilir:
let config = URLSessionConfiguration.defaultlet session = URLSession(configuration: config) |
URLSessionConfiguration, belirli bir öğe için yapılandırılabilir. Bunun için URLSessionConfiguration.create() metodu kullanılabilir. Bu metod, URLSessionConfiguration nesnesinin alt sınıfını döndürür ve bu alt sınıf, yapılandırma özelliklerini ayarlama olanağı sunar. Örneğin, HTTP bir istekte önbellek kullanmak için, NSURLSessionConfiguration nesnesinin alt sınıfı ve URLSessionConfiguration.urlCache özelliği kullanılabilir:
let config = URLSessionConfiguration.create()config.urlCache = URLCache.sharedlet session = URLSession(configuration: config) |
NSURLSessionConfiguration, farklı URL session öğeleri oluşturmak için göreceli özelliklerle ayarlanabilir. Bu nedenle, NSURLSessionInitialization adlı bir yöntem de kullanılabilir. Bu, dört özelliği kabul eden bir fonksiyondur: yapılandırma, URLSessionDelegate, iş parçacığı adı ve URLProtocol öğeleri. Bu öğeler, arka planda kullanılan farklı parametreler için ayarlanabilir.
Varsayılan Yapılandırma Örneği Nasıl Oluşturulur?
Eğer varsayılan ayarlarla bir NSURLSessionConfiguration örneği oluşturmak istiyorsak URLSessionConfiguration.default metodu kullanılır. Bu örnek, NSURLSessionConfiguration sınıfında spesifik bir yapılandırma ayarı belirtilmediği durumlarda kullanılan varsayılan ayarlara sahiptir.
- URLCache, varsayılan yapılandırmada HTTP isteklerinin önbelleğe alınması için kullanılır.
- TimeoutIntervalForRequest, bir isteğin tamamlanması için izin verilen en fazla süresi, varsayılan olarak saniye cinsinden ayarlanmıştır.
Bu yöntem kullanarak oluşturulan NSURLSessionConfiguration örneği, varsayılan ayarlara sahip olacaktır ve bu ayarlar, ağ taleplerinin akıcı ve hızlı bir şekilde yapılmasını sağlar. Ancak, özelleştirilmiş bir yapılandırma ayarı gerektiğinde, URLSessionConfiguration.create metodu kullanılabilir.
URLSessionConfiguration Belirli Bir Öğe İçin Nasıl Kabul Edilir?
NSURLSessionConfiguration, NSURLSession'in yapılandırılması için kullanılır ve bir URL session oluşturmak için gereklidir. Bir URL session yapılandırma örneği, URLSessionConfiguration sınıfının bir örneği olarak oluşturulabilir. Ancak, bazen bir URL session, belirli bir amaç için özelleştirilmiş yapılandırmaya ihtiyaç duyabilir. Bu durumda, bir belirli bir öğe için NSURLSessionConfiguration tarafından kabul edilebilen bir özellikleri kümesi ayarlanmalıdır.
NSURLSessionConfiguration, belirli bir öğe için kabul edilebilen özellikleri ayarlamak için create metodu çağrılarak özelleştirilebilir. Bu yöntem, varsayılan bir yapılandırmanın üzerine özellikler ekleyebilir veya değiştirebilir. Örneğin, bir belirli bir URL örneği için bir URL session yapmak istediğiniz düşünün. Bu özel URL, önbelleğe alınabilir veya önbellekten okunabilir. Bunun için, özellikle bir öğe için NSURLSessionConfiguration belirlemek istiyorsanız, örneğin create metodu kullanabilirsiniz.
Özellik | Açıklama |
---|---|
urlCache | URL önbelleğe atılır. |
timeoutIntervalForRequest | Bir isteğin tamamlanması için izin verilen maksimum süre. |
allowsCellularAccess | Cep telefonu ağlarından veri aktarımına izin verir. |
Bu özelliklere sahip bir NSURLSessionConfiguration örneği oluşturmak için, create yöntemi çağrılır ve değiştirilmek istenen özellikler belirtilir. Yeni yapılandırma örneği, URLSession oluşturmak için kullanılabilir. Bu sayede, belirli bir öğe için özelleştirilmiş bir URL session oluşturmak mümkün hale gelir.