Nasıl kontrol etmek için iOS sürümü?
Eğer cihazın iOS
sürümü 3.1.3
daha büyük olup olmadığını kontrol etmek istiyorum
Gibi şeyler denedim:
[[UIDevice currentDevice].systemVersion floatValue]
ama çalışmıyor, ben sadece istiyorum:
if (version > 3.1.3) { }
Bunu nasıl başarabilir?
CEVAP
Hızlı cevap
İOS 8 ve üzeri [[NSProcessInfo processInfo] operatingSystemVersion]
.
Ancak, cihaz ya da işletim sistemi yetenekleri bir göstergesi olarak işletim sistemi sürümü güvenmekten kaçınmalısınız. Genellikle belirli bir özellik veya sınıf mevcut olup olmadığını kontrol ediniz ve daha güvenilir bir yöntem yoktur.
API varlığını kontrol:
Örneğin, eğer UIPopoverController
geçerli aygıt NSClassFromString
kullanarak üzerinde kullanılabilir olup olmadığını kontrol edebilirsiniz:
if(NSClassFromString(@"UIPopoverController")) {
// Do something
}
Zayıf bağlantılı sınıfları için güvenli sınıf, doğrudan mesaj. Özellikle, bunu açıkça bağlı olmayan çerçeveler için çalışıyor "". Gerekli Eksik sınıfları için, ifade, sıfır, durumu başarısız olarak değerlendirilir:
if([LAContext class]) {
// Do something
}
Bazı sınıflar, CLLocationManager
UIDevice
gibi yöntemler aygıt yeteneklerini kontrol etmek için sağlar:
if([CLLocationManager headingAvailable]) {
// Do something
}
Semboller varlığını kontrol:
Çok nadir, bir sabit olup olmadığını kontrol etmelisiniz. Bu -openURL:
ile UIApplicationOpenSettingsURLString
Ayarlar app yüklemek için kullanılan bir giriş ile iOS 8'de geldi. Değer iOS 8 öncesinde yoktu. Bu API nil geçen bakım sürekli ilk: varlığını doğrulamak için alması gereken şekilde kalabilir
if (&UIApplicationOpenSettingsURLString != NULL) {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
}
İşletim sistemi sürüm karşı karşılaştırılması:
Hadi nispeten nadir işletim sistemi sürüm kontrol etmek ihtiyacı ile karşı karşıya olduğunuzu varsayalım. Projeler iOS hedefleme ve üstü için 8, NSProcessInfo
hata daha az şansı olan: sürüm karşılaştırmalar yapmak için bir yöntem içerir
- (BOOL)isOperatingSystemAtLeastVersion:(NSOperatingSystemVersion)version
Projeler eski sistemler hedefleme UIDevice
systemVersion
kullanabilirsiniz. Apple GLSprite örnek kodu kullanır.
// A system version of 3.1 or greater is required to use CADisplayLink. The NSTimer
// class is used as fallback when it isn't available.
NSString *reqSysVer = @"3.1";
NSString *currSysVer = [[UIDevice currentDevice] systemVersion];
if ([currSysVer compare:reqSysVer options:NSNumericSearch] != NSOrderedAscending)
displayLinkSupported = TRUE;
systemVersion
istediğin bu karar ne olursa olsun, patch sürüm numarası (örn. . kesiliyor riskli bir dize olarak tedavi etmek için emin olun ya da eğer 3.1.2 ->3.1).
Nasıl TV izleme sürümü kontrol etmek i...
Nasıl kontrol etmek için hangi sürümü ...
Nasıl python modülü sürümü kontrol etm...
Nasıl Şef sürümü hüküm VMs o Serseri k...
Nasıl paketler apt-get kullanarak yükl...