Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

iOS / objective-c / data sorusu


Öne çıkan mesajlar

Mesaj tarihi:
Selamlar,

Elimde 5-10 mb'lik bir data var ve ben bu data'yi app ile birlikte servis ederek offline kullanima imkan vermek istiyorum.

1 - 5-10mb ya da daha buyuk text veriler icin en iyi saklama metodu nedir?
2 - Verinin direkt veritabani olarak calinmasini araklanmasini nasil engellerim ? En iyi cozum nedir bu konuda?
3 - Bu veriyi API ustunden cekip o sekilde saklamak istesem bir sey fark ediyor mu ilk 2 soru icin?

App sadece belli konularda bilgi saglayan bir app bu arada. Haliyle 2 buton, bir kac kademe table view ve bir de detay sayfasindan oluscak gibi an itibariyle.

Sagolun varolun.
Mesaj tarihi:
1- Direk sql lite database ini xcode'da projeye atıp kullanabilirsin app. içinde yada cvs file olarak saklayabilirsin (parse'i oldukça hızlı oluyor), plist haline getiripde kullanabilirsin

2- Nasıl çalıcaklar database'i onu anlamadım
Mesaj tarihi:
SQLite kullanmakta hic bi sikinti yok lakin jailbreak'li cihazlarda bir sekilde dosyalari kurcalayip extract edebileceklerini dusunuyorum. Haliyle adam cotanak diye sqlite dosyasini alir gibime geliyo.

Oyle midir acep ?
Mesaj tarihi:
Compiled/Serialized sekilde App ile bundlelamak care olabilir, data statik ise tabi.

Dinamik ise, SSL/Socket (Authentication/Authorization)/Serialized sekilde backend den serve etmek care olur.

Edit: 3. soru icin, yazdiklarim komple gecerli, ayri ayri degi.
Mesaj tarihi:
Gladmir said:

Compiled/Serialized sekilde App ile bundlelamak care olabilir, data statik ise tabi.


Data statik abi. Peki compiled dedigin nedir ? Direkt array tadinda veri gibi kodun icine mi gomeyim ? Gomderim sikinti degil ama 5-10mb'lik data icin sikinti olur mu ? Kalkip o array'e erisinde cotank diye memory'ye load etmesin IOS ne varsa?

Data cok cok nadir guncellenecek, muhtemelen app update gerekecek zaten data guncellendiginde.
Mesaj tarihi:
Hashlenmis stringleri bir arraye atip container classini serialize edip xx.bat veya intro.mp3 gibi alakasiz bi sekilde tutabilir ve kod akisi icinde bunu alakasiz bisey olarak gosterebilirsin sanirim fakat yeterince motive olmus birisi icin tam cozum degil, runtimeda memoryden okuyabiliyo olmasi lazim (iOS oldugu icin emin degilim ama buyuk ihtimalle boyle).

Sonucta bu bilgileri sen kullaniciya plain text olarak gostericeksen, illa memoryde duracak kabak gibi. Ha partial deserialization tarzi bisey yapabilirsin belki, adama ne lazimsa onu deserialize edersin falan. Olay obfuscation ve yildiriciliga kaliyo yani her halukarda.
Mesaj tarihi:
Kojiroh said:

Hard-coded bi private key ile AES128'leyip GZip'leyerek saklasan, sonra da bunu unzip'leyip, decrypt edip kullansan?


Apple kabul etmiyomus abi bunu. App store'a yukleyemiyosun yani encrypted biseyi.
Mesaj tarihi:
Oha çok fenaymış. Muhtemelen bi API üzerinden getirtip saklatsan yine yemez, sonuçta yine bi şey saklıyosun. Veri çok büyük olmasa her açılışta çekersin ama çok büyük.

Harbi böyle bi durumun best practice'i nedir bilmek iyi olur, bilen beri gelsin sdf
Mesaj tarihi:
ccats'a kayit olayi mi yoksa bildigin yasak hemserim mi ?

hayir storekitte gamecenterda "ya guvenligi de saglayin iste :d" modunda seyler tavsiye ediyorlar bir de, nasil olacak o zaman bu is
Mesaj tarihi:
di said:

Gladmir said:

Compiled/Serialized sekilde App ile bundlelamak care olabilir, data statik ise tabi.


Data statik abi. Peki compiled dedigin nedir ? Direkt array tadinda veri gibi kodun icine mi gomeyim ? Gomderim sikinti degil ama 5-10mb'lik data icin sikinti olur mu ? Kalkip o array'e erisinde cotank diye memory'ye load etmesin IOS ne varsa?

Data cok cok nadir guncellenecek, muhtemelen app update gerekecek zaten data guncellendiginde.


Apple in bundle icin de encrypted data olayini asmanin en guzel yolu, app start da backend den data yi bir seferligine fetch edip persist etmek.

Boyle yaparak hem encryption seceneklerin de artmis olur.

En basitinden, fetch request i backend e geldigi anda o request e spesifik client/server key generate edip, request i yapan app e spesifik data encrypt edebilirsin. Hem Server side da encryption hem de client side da encryption secenekleri de mevcut olmus olur.

Ama hersey bir yana, ilk kendine sorman gereken soru su; Deger mi? :)


Edit: Datayi sonradan serve etmek sana ek bandwith getiriyor ama son kullanici icin birsey degismiyor, ha store dan download etmis 11 mb, he 1 mb download edip ardindan 10 mb content almis.
×
×
  • Yeni Oluştur...