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.
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ı: 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
  Uygulama Açılırken Siyah Ekran Sorunu seydigozegir@gmail.com 2 112 06-08-2020, Saat: 12:14
Son Yorum: mrmarman
  Apple Store - Uygulama yüklemede Hata elixir84 20 1.873 29-07-2020, Saat: 17:31
Son Yorum: Fesih ARSLAN
  Uygulama Kapatma mcuyan 7 2.325 11-07-2020, Saat: 01:21
Son Yorum: ysfckr
Lightbulb Google Play Store'a Ağustos 2020'ye kadar nasıl uygulama yüklenir? Abdullah ILGAZ 29 5.691 05-07-2020, Saat: 22:22
Son Yorum: nguzeller
  Thread içerinde for ve sleep işleminde uygulama kırılmasını önleme pro_imaj 10 1.532 06-04-2020, Saat: 00:04
Son Yorum: theSinan



Konuyu Okuyanlar: 1 Ziyaretçi