يُرجع NSFileHandle fileHandleForWritingAtPath قيمة nil بمسار صالح

StackOverflow https://stackoverflow.com//questions/22055305

  •  21-12-2019
  •  | 
  •  

سؤال

وجدت بعض الأشياء بشأن هذه المشكلة ولكن لم ينجح شيء حتى الآن.

أحاول الكتابة حتى نهاية الملف باستخدام الكود التالي:

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"Filename" ofType:@"txt"];
NSString *textToWrite = @"Test";
NSFileHandle *fileHandle = [NSFileHandle fileHandleForWritingAtPath:filePath];
[fileHandle seekToEndOfFile];
[fileHandle writeData:[textToWrite dataUsingEncoding:NSUTF8StringEncoding]];
[fileHandle closeFile];

عندما أنتقل عبر الكود، يتم تعيين filePath على "/var/mobile/Applications/1669D96A-1ABA-4A4F-D083-A90EB728691B/MyApp.app/Filename.txt".

ومع ذلك فإن ملف NSFileHandle fileHandleForWritingAtPath يُرجع صفرًا.لا يثير الكود استثناءً/تحذيرًا ويستمر كما لو كان جيدًا.عندما أقرأ الملف داخل سلسلة، لا يكون النص الجديد موجودًا، بل فقط العناصر الموجودة في الملف في البداية (المكتوبة في Xcode).أستخدم نفس الرمز بالضبط للحصول على المسار لقراءة الملف، وهذا يعمل!

هل كانت مفيدة؟

المحلول

حزمة التطبيق للقراءة فقط.لا يمكنك الكتابة إلى أي مسار في الحزمة.ولهذا السبب تحصل على nil مقبض الملف.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top