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ı: 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ığı FMX Servis Kalıcı Olarak Çalıştırma 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.
Cevapla
#3
Teşekkürler Fesih hocam. İnceleyeceğim.
Cevapla
#4
(02-02-2019, Saat: 09:49)gonulali Adlı Kullanıcıdan Alıntı: 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ı: 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
  Google play Uygulama yükleme hatası [Çözüldü] codder71 3 306 23-02-2024, Saat: 22:42
Son Yorum: codder71
  Delphi 12 IOS Simulatorde Uygulama Çalışmıyor elixir84 3 923 07-02-2024, Saat: 17:05
Son Yorum: elixir84
  Delphi 11.3 Andorid 10 ve üzeri uygulama çalışmıyor TuncayDelphi 7 578 07-12-2023, Saat: 01:23
Son Yorum: TuncayDelphi
  ios uygulama Bay_Y 4 383 22-11-2023, Saat: 16:06
Son Yorum: Bay_Y
  Google Play Uygulama Yükleme apachi2006 3 455 20-08-2023, Saat: 23:12
Son Yorum: apachi2006



Konuyu Okuyanlar: 1 Ziyaretçi