كيف يمكنني الكتابة إلى الدليل الحالي في iPhone SDK عند تشغيل Xcodebuild من سطر الأوامر؟
-
21-09-2019 - |
سؤال
هل يعرف أي شخص كيفية الحصول على المسار إلى الدليل الحالي عند تشغيل 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 - لا يحدث أي صندوق رملي. إذا ركضت في جهاز المحاكاة ، فقد تكون هذه قصة مختلفة.