Bir RESTful web hizmeti aracılığıyla PDF belgeleri veritabanıyla senkronizasyon sağlayan bir iOS uygulamasına sahibim. Temel olarak, uygulama, uygulamasındaki dosya sistemine kaydettiğim birkaç PDF'yi indiriyor.iOS Güvenli Dosya Depolama Alanı
Kütüphane/Önbellekleri dizinini kullanıyorum.
NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)
Gereksinim, dosyaları, kullanıcılara herhangi bir şekilde erişemeyecekleri şekilde depolamaktır. Ben dosyayı yazarken, ben de seçenek sunan am: ...
I> İndirme Kapsayıcı - -> My App seçin NSDataWritingFileProtectionComplete Ancak
[decodedFile writeToFile:newFilePath options:NSDataWritingFileProtectionComplete error:nil];
, hala Cihazlar aracılığıyla dosyalara erişmek mümkün duyuyorum Uygulamayı, indirilen içeriğe uygulamanın kendisinden başka herhangi bir şekilde erişilemeyecek şekilde yapılandırmanız gerekir. Bunu yapmanın bir yolu olmalı, ama hiçbir şey bulamadım ...?
Bilgi için teşekkürler. Hapis cezasına çarptırılmış vakalarla ilgilenmiyorum. Sadece hapis cezası olmayan vakalar için daha zor, hatta ideal olarak mümkün olmamak istiyorum. Her zaman bir yol olduğunu anlıyorum, ancak telefonu sadece Mac'e bağlayıp Xcode'a girip belgeleri 2 dakikada indirebilme kapasitesine sahip olmak kabul edilemez. Bunun etrafında bir yolu olmalı. Sağladığınız bağlantılara bakacağım ... – Jesse
Eğer amaç sadece "bunu biraz daha zorlaştırmak" ise, o zaman oldukça önemsizdir ("herhangi bir şekilde onlara ulaşılamamasına rağmen" imkansızdır). Verileri uygulamanızda gizlediğiniz rastgele bir anahtarla şifreleyin. Orta dereceli becerilerle güçlü bir şekilde motive edilen herkes onu kırabilir, ancak açıkladığınız durumlar için işe yarayacaktır. Birçok takımın bu şekilde RNCryptor kullandığını biliyorum. https://github.com/RNCryptor –
Aslında yaptığım şey daha da önemsiz ... PDF'nin eklendiği sunucu tarafında, belgeye bir parola ekliyorum. IOS uygulamasında, belgeyi açmak için aynı şifreyi kullanıyorum. Birileri dosyaları dökecek olsaydı, şifreyi bilmezlerdi. Sorun çözüldü. – Jesse