كيف يمكنني الكتابة إلى الدليل الحالي في iPhone SDK عند تشغيل Xcodebuild من سطر الأوامر؟

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

سؤال

هل يعرف أي شخص كيفية الحصول على المسار إلى الدليل الحالي عند تشغيل Xcodebuild (بشكل رئيسي ، دليل المشروع) وكتابة الملفات إليه؟ أحاول حفظ نتائج بعض اختبارات الوحدة على القرص من رمز OBJ-C ، لكنني أفضل عدم تفريغها في مسار مستند التطبيق إن أمكن. قد أكون قادرًا على إلحاق "../../ .." وما إلى ذلك إلى مسار المستند ، لكنني كنت آمل أن تكون هناك طريقة أكثر أناقة.

*هذا مهم فقط لمحاكاة ، بالطبع ... ولكن ربما حتى محاكاة المحاكاة للحفاظ على صندوق رمل نظام ملفات iPhone؟ لم يكن لدي حظ في الكتابة إلى مواقع عشوائية أخرى على جهاز Mac الخاص بي ، لذلك أظن أن هذا قد يكون كذلك.

شكرا لمساهمتك!

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

المحلول

لقد اكتشفت هذا - الجواب بسيط بشكل محرج. مع التركيز على "محرج".

إذا كنت تستخدم شيئًا مثل أساليب WriteTofile الخاصة بـ NSString ، فكل ما عليك فعله هو التفكير في طريقك فيما يتعلق بمكان وجود Xcodebuild من - لا يوجد NSSearchPhordirectionSindomains.

مثال:

(إذا كان الجري في ~/src/awesomeapp)

[myString writeToFile:@"awesome.file" atomically:YES encoding:NSUTF8StringEncoding error:&error];

سوف يخرج إلى: ~/src/awesomeapp/asheesment.file

نعم ، أنا أحمق. لقد جربت هذا بالفعل أول, ، لكنني كنت أحاول الكتابة إلى دليل نسبي غير موجود ، مما أدى إلى خطأ غير مفيد "لا يمكن فعل هذا" خطأ في النمط "الذي قادني في جميع أنحاء internets وفي النهاية إلى stackoverflow ... (تحتاج إلى استخدام Filemanager# CreateRectoryatPath! لا يوجد إنشاء مسار تلقائي ، لسوء الحظ.)

لمعلوماتك ، كما يجب أن يكون واضحًا ، فأنت حر في كتابة الملفات أينما كنت ترغب في تشغيل محرك الأقراص الثابتة عند التشغيل عبر Xcodebuild - لا يحدث أي صندوق رملي. إذا ركضت في جهاز المحاكاة ، فقد تكون هذه قصة مختلفة.

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