2011-11-01 7 views
7

Kendi günlükleri iPhone'umdaki bir metin dosyasına yazmak istiyorum. Bir dosyaya bir dize yazan hızlı bir yöntem yazdım. Şu anda, cihazda kaybolmak için bir acı olacaksa, onu taramayacağım için Dokümanlar dizinine kaydeder. Yazdıktan sonra bu dosyayı cihazdan hızlı bir şekilde almanın daha iyi bir yolu var mı?Amaç-C: Aygıtta metin dosyası oluşturun ve dosyayı kolayca almak için

/** 
* Logs a string to file 
* 
* @version $Revision: 0.1 
*/ 
+ (void)logWithString:(NSString *)string { 

    // Create the file 
    NSError *error; 

    // Directory 
    NSString *documentsDirectory = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"]; 
    NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"log.txt"]; 

    // Get the file contents 
    NSData *localData = [NSData dataWithContentsOfFile:filePath]; 
    if (localData) { 
     NSString *logString = [[NSString alloc] initWithData:localData encoding:NSUTF8StringEncoding]; 
     string = [logString stringByAppendingFormat:@"%@\n", string]; 
     [logString release]; 
    } 

    // Write to the file 
    [string writeToFile:filePath atomically:YES encoding:NSUTF8StringEncoding error:&error]; 

}//end 
+0

Sidenote — günlük dosyasının yaklaşık 500 KB'den büyük olması durumunda, bu gerçekten verimsiz olur. Yalnızca değişiklikleri yazmayı düşünün (diğer API'yi kullanarak) – FeifanZ

cevap

10

Xcode Başvurunuz hedefin inşa bilgi için Application supports iTunes file sharing ekle

enter image description here

+0

Oooh. Bunu bir test özelliği olarak beğeniyorum. 1 + 1 –

+0

Mükemmel! Bu sadece aradığım şey. Onun hakkında bir şey biliyordum ama bunu bu amaçla kullanabileceğimi unuttum. Teşekkürler! –

0

Sen bugüne kadar oluşturduğunuz günlükleri sayısı ne yakalamak ve bu konuda önyargılı her günlüğüne için yeni bir ad oluşturmak gerekebilir.

Bu nedenle, NSUserDefaults öğesinde son yapılan günlükler adınızı bir dize olarak kaydedebilir ve bu sayının sonunu alabilir ve bir sonraki ada için yakalanan int'ye bir tane ekleyebilirsiniz.

Yani "log4" @ varsa o arasından 4 almak ve böylece bir sonraki günlük Sadece benim 2 sent

"Log5" adlı o 5 yapabilirsiniz: ile ilgili olarak P

+0

Evet, uygulamamdaki işlemi her başlattığımda yeni bir günlük oluşturacağım. –

0

Daha önce iPhone Explorer, aygıtlarınızı jailbreak yapmadan kendi belgeler klasörü de dahil olmak üzere uygulamalarınızı görüntülemenizi sağlar.

Deneyimlerimden (eski bir sürümü de olsa), dosyaları telefondan almak biraz geçici olabilir (örneğin, bir dosyayı masaüstüme sürüklerim ve dosya oluştursa da, herhangi bir dosyayı yazmaz; veri), dosyaları cihazınızdan alabilirsiniz. Sağ Devices > Your device > Apps > File Sharing altında

enter image description here

Sonra, kolayca almak, göz atabilir ve iTunes'dan uygulama tarafından oluşturulan tüm dosyaları silin::

İlgili konular