2016-04-12 14 views
1

Uygulamamda AWS iOS SDK (v.2.3.6) ekledim.AWS iOS SDK AWSServiceManager çoklu hizmet yapılandırmaları

"yerine hizmet yöneticisi bir örneğini oluşturarak bu tekil yöntemi kullanmalısınız": Ne defaultServiceManager bir vazgeçme sahip olduğunu fark ettik dışında aynen, ince ve iyi çalışıyor.

o defaultServiceConfiguration değişmez tek farkı ben normalde bu ile bir sorunu olmazdı: "Bu özellik yalnızca bir kez ayarlanabilir ve herhangi bir müteakip belirleyiciler göz ardı edilir"

Hizmet yapılandırmasının (örn. IdentityPoolId + bölge) çalışma zamanında değiştirilebilmesi için bir gereksinimim var.

Bunun için olası yollar nelerdir? Hizmet yapılandırmasını herhangi bir noktada sıfırlayabilmeyi çok isterdim, ancak belgelerin söylediklerine göre bu mümkün değil.

cevap

3

Varsayılan servis yapılandırmasını değiştirmemelisiniz. Örneğin

+ register[ServiceClientName]WithConfiguration:forKey: 
+ [ServiceClientName]ForKey: 

, AWSS3TransferUtility için, onlar::

Bu şekilde
+ registerS3TransferUtilityWithConfiguration:forKey: 
+ S3TransferUtilityForKey: 

, her hizmet istemcisi için farklı bir hizmet yapılandırmasını geçebilir Bunun yerine, her servis istemci aşağıdaki sınıf yöntemler sağlar çalışma zamanı. Bu kalıbı takip ederek, hata ayıklaması çok zor olabilen istemeden "kirli" varsayılan hizmet yapılandırma hatalarını önleyebilirsiniz.

+0

Bir çekicilik gibi çalışır! –

+0

Kayıt ekledim (with: config !, forKey: "KEY") Ama yüklemeye başladığımda varsayılan yapılandırmayı alır. Kendi özel anahtarımla nasıl yükleme aktarımı yapabilirim? –