2016-03-21 20 views
0

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 ...?

cevap

0

Bu, çözülebilir bir sorun değildir. Bu çözülebilir bir sorun olsaydı, Apple'ın Jailbreak'i önlemesi çok önemli olurdu. Kullanıcının erişemeyeceği her yerde bir sistem doğrulama anahtarı yazarlar. Jailbreaking'in 'un olması, Apple'ın ekosistemin her bir parçasını kontrol etmesine rağmen, bir kullanıcının cihazına yazdığınız verilerin o kullanıcı tarafından korunma olasılığını göz önüne almasıdır. Bu, birkaç kez tartışılmıştır, aslında neler yapabileceğiniz ve ne yapmaya değer olduğu ile ilgili düşünceler (hiçbir şey% 100 olacak; hiçbir şey% 90 bile olmayacaktır). Daha fazla bilgi için bu sorunun önceki enkarnasyonlarına bakabilirsiniz. Secure https encryption for iPhone app to webpage, diğerlerinin birçoğuna bağlantılar içerdiğinden başlamak için iyi bir yerdir.

+0

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

+0

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 –

+1

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

İlgili konular