مرحبًا بالجميع ،
أحاول كتابة نص تفاح يتم استدعاؤه باستخدام متغير ثم استخدام هذا المتغير في البرنامج النصي. على سبيل المثال:
عند التشغيل argv
قم بتعيين a إلى العنصر 1 من argv
أخبر التطبيق "iTerm-2"
أخبر النافذة الحالية
اقول الدورة الحالية
كتابة نص "ssh" & a
اقول النهاية
اقول النهاية
اقول النهاية
نهاية المدى
لذلك سيتم استدعاء التطبيق في سطر الأوامر: افتح mypp.app --args machine. سيقوم التطبيق iTerm-2 بفتح وتشغيل الأمر "ssh machine". في الوقت الحالي ، يتم تشغيل iTerm-2 وتشغيل الأمر ssh ولكنه يتجاهل المتغير. هل سميت متغير "أ" خطأ؟
هناك شيء مريب يحدث مع الأمر open عند استخدامه مع --args و AppleScript. أقترح عليك تشغيل تطبيقك على النحو التالي لالتقاط العنصر 1 من argv:
آلة osascript mypp.app
حسنًا - لقد نجح ذلك! ومع ذلك فأنا أعلى الخور قليلاً الآن. لدي حل برمجي عندما أقوم بتسجيل الدخول إلى تعريف "المشغل" الذي يقوم بتشغيل Terminal Emulator على جهاز Mac الخاص بي. أقوم بتوجيه هذا البرنامج إلى البرنامج النصي الخاص بي والذي كما ترون يطلق المحاكي ويعطيه أمرًا للتشغيل. يقدم هذا البرنامج أيضًا معرّفًا وكلمة مرور كوسيلة يمكن إضافتها إلى الأمر للتشغيل. لسوء الحظ ، يبدو أنه يستخدم "open -a" ولا يمكنني تغيير ذلك. هل يجب أن تعمل -args المفتوحة أم أن هذه مشكلة يجب إصلاحها في المستقبل؟
يعمل هذا أيضًا على إدخال الآلة في النص. سيظل يعمل بدون كتلة argv قيد التشغيل. استخدم علامات الاقتباس للوسائط التي تحتوي على مسافة بيضاء. يمكنك تكييف هذا لتحليل وسيطات متعددة لأنواع بيانات مختلفة من سطر أوامر واحد.
- المرجع: unixjunkie.blogspot.com/2006/07/command-line-Processing-in-cocoa.html
- المرجع: perspx.com/المحفوظات/parsing-command-line-arguments-nsuserdefaults/
- استدعاء المحطة الطرفية: افتح mypp.app --args -stringArg machine
استخدم إضافات البرمجة
استخدم framework "التأسيس"
في تشغيل argv
تعيين argx من إلى التطبيق الحالي NSUserDefaults'sstandardUserDefaults ()
تعيين sarg إلى ( أرجكس stringForKey : "stringArg") كـ نص
إذا سارج ليس "" إذًا
مربع حوار العرض sarg
تنتهي إذا
end تشغيل
هذا رائع! أنا 60٪ من الطريق إلى هناك الآن! سآخذ كزة حول آخر الأشياء الليلة. شكرا لك مائة مرة
التفاح الاسلام © 2023.All Rights Reserved.