2016-09-21 12 views
5

Uygulamamı iOS 10'da başlattığımda, kısa bir gecikmeden sonra Appendegate işlevinin -> applicationWillResignActive() çağrıldığını görebiliyorum. Bunun için bir neden yok. Uygulama, aktif olduğunda ve ön planda olduğunda gerçekleşir ve uygulama normal şekilde çalışmaya devam eder. > DidFinishLaunchingWithOptions applicationWillResignActive çağrıldı (hızlı 3)

  • uygulaması - -> applicationDidBecomeActive
  • >

    • Uygulama başlatma
    • uygulama uygulaması simgesinin üzerine tıklayın -

      :

      Uygulamamda yaşam döngüsü yukarıya bakınız lütfen

    • RootViewController -> viewDidAppear
    • application -> appl icationWillResignActive < - sorun!
    • uygulama -> applicationDidBecomeActive < - tekrar ?? !! Bu noktada
    • , uygulama hala Bu sekans, app açık her keresinde tekrarlanmaktadır herhangi bir hata

    ile çalışmaktadır.

    Bir şey, uygulamanızın çok kısa bir gecikme için önalan durumundan çıkmasını zorlaştırıyor gibi görünüyor. Genellikle, uygulama bir uyarı görüntülediğinde (örneğin, uygulamanın kameraya erişmek için kullanıcının iznini gerektirmesi durumunda) veya kullanıcı ana düğmeyi tıkladığında, applicationDidBecomeActive çağrılır.

    1 - Uygulamanın yatay modda başlatıldığında Sadece oluşur
    2 - Sadece iPhone'lara ve olmayan iPad'lerde oluşur
    3 - Herkes fark mü

    iOS 9 cihazda meydana DEĞİLDİR sorun bu sorun ?

    +0

    Bu sorunu yaşamadım, yine de bir test projesi oluşturabilirsin – Knight0fDragon

    +0

    Bunu iOS 10'da bir hata olduğunu düşünüyorum, bir hata raporu açtım. – Fox5150

    +0

    Sadece bu hatayı yaşayabiliyorsan, o zaman sen değilsin, iOS 10 – Knight0fDragon

    cevap

    2

    sorun şu ki, (fotoğraflar, push bildirimleri, yer) Yani

    her seferinde incremetns AppDelegate içinde varibale kullanmaktır işlemek için tek yol uyarı sistem hizmetlerini görevden uzaklaştırdıktan sonra ikinci kez çağırır bazı sistem uyarı gösterileri ve bu değişkenin değeri yalnızca kodunuzu diyoruz böylece applicationDidBecomeActive yılında decremants, 1.

    başka ilginç şey sistem uyarı gösterileri, böylece biz diyoruz konusunda karar vermek, bu bilgileri ne zaman kullanabileceğini applicationDidEnterBackground çağrı olmamasıdır applicationDidBecomeActive kodumuz ya da değil (ama yine de daha az güvenilir çözüm olabilir)

    +0

    Kesinlikle haklısınız! Bir sistem olay dinleyiciniz varsa, çok ilgilenirim! Teşekkürler. – Fox5150

    +0

    Sorunum, uygulamanın oryantasyonunu kontrol ederek düzelttim çünkü applicationDidEnterBackground uygulaması uygulamanın ömrünün çok geç olmasını bekliyor. Kaydetmem gereken veriler kaydedilmeyecek. – Fox5150

    +0

    'UIApplicationSuspendedNotification' adında bir çağrı var, daha önce çağrıldı didEnterBackground, buna bir dinleyici ekleyin, Bu aşamada kaydedebilmeniz gerekir – Knight0fDragon

    İlgili konular