Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
ios uygulama arkaplan calisma
#1
Günaydın.
Ben uygulama içinde belirli saniye aralıklarında veri tabanını güncelliyorum. 
Android telefonda uygulamadan home tuşuyla çıktığımda arka planda çalışmaya devam ediyor. Sorun yok.
ama ios gerçek telefonda uygulama açıkken home tuşuyla çıkıp arka planda kaldığında ve telefon aç/kapa tuşuyla kapatırsanız veya uyku moduna geçerse kendi veri tabanı bağlantısı kopuyor sanırım. açık uygulamalar içinden açtığımda da Error on data writing to the connection. Broken pipe. Socket Error Code:32($20)  diye hata veriyor. 
Arka planda sürekli açık kalması için ne yapabilirim acaba?
Cevapla
#2
(02-02-2019, Saat: 09:49)gonulali Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Günaydın.
Ben uygulama içinde belirli saniye aralıklarında veri tabanını güncelliyorum. 
Android telefonda uygulamadan home tuşuyla çıktığımda arka planda çalışmaya devam ediyor. Sorun yok.
ama ios gerçek telefonda uygulama açıkken home tuşuyla çıkıp arka planda kaldığında ve  telefon aç/kapa tuşuyla kapatırsanız veya uyku moduna geçerse kendi veri tabanı bağlantısı kopuyor sanırım. açık uygulamalar içinden açtığımda da Error on data writing to the connection. Broken pipe. Socket Error Code:32($20)  diye hata veriyor. 
Arka planda sürekli açık kalması için ne yapabilirim acaba?

Merhaba,
Mobil uygulama (Android veya iOS) yaşam döngüsüne bakarsanız; Android uygulama da bir süre sonra yanıt veremez duruma gelecek ve daha sonra arka planda sonlandırılacaktır. 
Mobil uygulamalar arka plana alındığı sıra OS bunu suspend durumuna alır. Bu durumdaki bir uygulama sitem kaynaklarının kullanım durumuna bağlı olarak belli bir süre sonra tamamen durdurulur. 
Android arka plan işlemleri için servis oluşturmanızda fayda var. Bu konuda daha önce @Halil Han Badem in paylaştığı Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız. konusu işinize yarayacaktır.
Uygulamanın iOS platformunda arka planda çalışabilmesi için Project > Options > Version Info penceresinde UIBackgroundModes alanından bir seçim yapmanız yeterli olacaktır.  
Her iki platform için uygulama yaşam durumunu IFMXApplicationEventService olayı ile yakalayıp uygulama akışını bu duruma göre yönlendirmeniz daha doğru olacaktır.
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#3
Teşekkürler Fesih hocam. İnceleyeceğim.
Cevapla
#4
(02-02-2019, Saat: 09:49)gonulali Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Günaydın.
Ben uygulama içinde belirli saniye aralıklarında veri tabanını güncelliyorum. 
Android telefonda uygulamadan home tuşuyla çıktığımda arka planda çalışmaya devam ediyor. Sorun yok.
ama ios gerçek telefonda uygulama açıkken home tuşuyla çıkıp arka planda kaldığında ve  telefon aç/kapa tuşuyla kapatırsanız veya uyku moduna geçerse kendi veri tabanı bağlantısı kopuyor sanırım. açık uygulamalar içinden açtığımda da Error on data writing to the connection. Broken pipe. Socket Error Code:32($20)  diye hata veriyor. 
Arka planda sürekli açık kalması için ne yapabilirim acaba?



 Aynı sorun bende de var sorunu çözebildinizmi acaba.
Cevapla
#5
(02-02-2019, Saat: 09:49)gonulali Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Günaydın.
Ben uygulama içinde belirli saniye aralıklarında veri tabanını güncelliyorum. 
Android telefonda uygulamadan home tuşuyla çıktığımda arka planda çalışmaya devam ediyor. Sorun yok.
ama ios gerçek telefonda uygulama açıkken home tuşuyla çıkıp arka planda kaldığında ve  telefon aç/kapa tuşuyla kapatırsanız veya uyku moduna geçerse kendi veri tabanı bağlantısı kopuyor sanırım. açık uygulamalar içinden açtığımda da Error on data writing to the connection. Broken pipe. Socket Error Code:32($20)  diye hata veriyor. 
Arka planda sürekli açık kalması için ne yapabilirim acaba?

Merhaba,
Sorunuzu iki şekilde ele almak gerekiyor. Öncelikle Android de varolan servis kavramı iOS platformunda yoktur. Bununla beraber iOS platformunda uygulamanın arka planda kalarak sürekli socket üzerinden veri aktarımı yapması mümkün değildir. Home tuşuna bastığınızda uygulamadaki tüm socket bağlantıları çok kısa sürede kapanacaktır. Aldığınız socket hatası da zaten bunu size göstermiştir. 

Diğer yandan uygulamanız içinde belli zaman aralıklarında veri güncellemesi yapıyorsanız bu sefer uygulamanızda Background Fetch özelliğini kullanabilirsiniz. Bu özellik belirlediğiniz zaman aralıklarında uygulamanıza bir tetikleme göndererek size bir web sunucuna http isteği göndermek için imkan sunar. Böylece uzak sunucuda çalışan servisiniz ile JSON formatında verilerini çekip içeride işlem yapabilirsiniz. Aynı zamanda bu özelliğin büyük veri yığınları ile arka planda çalışmak üzere tasarlanmadığını unutmayın. Bunu Android 'e nazaran kısıtlamaların bol olduğu iOS platformunda uygulamanıza ufak güncellemeler yapmak için tanınan kısa bir nefes alma zamanı olarak görün.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Delphi 10.3 Android Servis Çalışma Sorunu Halil Han Badem 14 1.312 6 saat önce
Son Yorum: Halil Han Badem
  Banner reklamı uygulama içinde açma ? Mr.Developer 2 85 17-10-2019, Saat: 23:36
Son Yorum: Mr.Developer
Lightbulb Google Play Store'a Ağustos 2020'ye kadar nasıl uygulama yüklenir? Abdullah ILGAZ 22 989 12-10-2019, Saat: 00:53
Son Yorum: Abdullah ILGAZ
  Fmx Uygulama Tasarım cihankoca 9 456 02-10-2019, Saat: 18:13
Son Yorum: malitutuncu
  Delphi fmx ile Play store uygulama içi satın alma işlemi crowlin 2 186 27-09-2019, Saat: 23:07
Son Yorum: crowlin



Konuyu Okuyanlar: 1 Ziyaretçi