SORU
23 EYLÜL 2013, PAZARTESİ


İOS kontrol ekran görüntüsü 7 çoklu görev değiştirici

OS uygulaması kış uykusuna yatacağı zaman alır bazı bilgileri ve özellikle de ekran görüntüsü iOS 7 yeni çoklu görev değiştirici ile ilgili bulmaya çalışıyorum.

enter image description here

Tamamen bu özellik ekran görüntüsü kapatmak için herhangi bir yolu var mı? Ya ben uygulamayı tamamen değiştirici gizleyebilirsiniz? Uygulamayı arka planda çalıştırmak gerekiyor, ama uygulama herhangi bir ekran görüntüsü göstermek istemiyoruz.

Ekran görüntüsü potansiyel bir güvenlik riski, sanırım birlikte hatları için bankacılık uygulamaları kart numarası veya hesap özeti bulunması için herkesin üzerine çift tıklayın, ana sayfa düğmesi cihaz.

Bu herhangi bir bilgi olan var mı? Teşekkürler.

CEVAP
23 EYLÜL 2013, PAZARTESİ


** 17, Apple diyor ki:

Plana geçmeden önce görüşlerini hassas bilgileri kaldırın.

Bir uygulama arka plana geçiş yaparken, sistem sonra uygulamayı ön plana geri geçiş yaparken kısa bir süreliğine sunan uygulamanın ana penceresinde bir fotoğrafını çeker. applicationDidEnterBackground: yöntem dönmeden önce, ya da anlık bir parçası olarak ele olabilir şifreleri ve diğer hassas bilgileri gizlemek belirsiz.

/Hassas bilgileri değiştirme engelleme ek olarak, aynı zamanda iOS 7 ignoreSnapshotOnNextApplicationLaunch ekran üzerinden anlık değil anlatmak isteyebilirsin. 18* *bu yönteme göre:

Eğer anlık olamaz doğru uygulamayı yeniden hizmete olduğunda uygulamanızın kullanıcı arayüzü yansıtan düşünüyorsanız, [ignoreSnapshotOnNextApplicationLaunch] götürülürken o anlık görüntü önlemek için arayabilirsiniz.

Bunu söyledikten sonra, ekran görüntüsünü hala alınır ve bu nedenle bir hata raporu var gibi görünüyor. Ama daha fazla test ve eğer bu ayarı kullanarak yardımcı olursa görmelisiniz.

Eğer bu kurumsal bir uygulama değildi, ayrıca allowScreenShot uygun ayarı Restrictions Payload bölümünde özetlenen içine bakmak isteyebilirsinizYapılandırma Profili Referans.


İşte ihtiyacım olan şey sağlayan bir uygulama. Kendi UIImageView veya temsilci protokolü desen gizli bilgileri gizlemek için kullanabilir hediye edebilirsiniz:

//  SecureDelegate.h

#import <Foundation/Foundation.h>

@protocol SecureDelegate <NSObject>

- (void)hide:(id)object;
- (void)show:(id)object;

@end

Ben daha sonra app temsilcime bir özellik verdi:

@property (weak, nonatomic) id<SecureDelegate> secureDelegate;

Benim görüşüme kumandası ayarlar:

- (void)viewDidLoad
{
    [super viewDidLoad];

    AppDelegate *delegate = [[UIApplication sharedApplication] delegate];
    delegate.secureDelegate = self;
}

Görünüm denetleyicisi açıkçası bu kuralı uygular:

- (void)hide:(id)object
{
    self.passwordLabel.alpha = 0.0;
}

- (void)show:(id)object
{
    self.passwordLabel.alpha = 1.0;
}

Ve, son olarak, app temsilcime bu Protokol ve mülkiyet kendisi kar:

- (void)applicationWillResignActive:(UIApplication *)application
{
    [application ignoreSnapshotOnNextApplicationLaunch];  // this doesn't appear to work, whether called here or `didFinishLaunchingWithOptions`, but seems prudent to include it

    [self.secureDelegate hide:@"applicationWillResignActive:"];  // you don't need to pass the "object", but it was useful during my testing...
}

- (void)applicationDidBecomeActive:(UIApplication *)application
{
    [self.secureDelegate show:@"applicationDidBecomeActive:"];
}

Not, ben kullanıyorum applicationWillResignActive yerine tavsiye applicationDidEnterBackground, çünkü, diğerlerinin belirttiği, ikincisi ise "değil," ne zaman çift dokunarak giriş düğmesi ise uygulama çalışıyor.

Keşke kullanın bildirimleri işlemek için tüm bu, yerine temsilci-protokol desen, ama benim sınırlı test, bildirimleri değil mi işlenmiş bir zamanında-yeterli şekilde, ama yukarıdaki desen gayet iyi çalışıyor.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • hidetake takayama

    hidetake tak

    3 Mart 2009
  • Joshua Kywn

    Joshua Kywn

    17 Mayıs 2010
  • LimeFire

    LimeFire

    2 ŞUBAT 2012