2011-09-09 8 views
9

मैंने डेल्फी एक्सई 2 में एक सरल टेस्टबेड ऐप बनाया, और एप्लिकेशन के Win32 और OSX संस्करण दोनों को संकलित किया।
मैंने libcgunwind dylib रनटाइम फ़ाइल की एक प्रति के साथ ओएसएक्स संस्करण को ज़िपित किया और इस फाइल को मैक में कॉपी किया जिसकी मुझे पहुंच है।
जब मैंने फ़ाइल को अनजिप किया, तो मैक ने मेरे ओएसएक्स एप्लिकेशन को पहचाना और मैंने इसे डबल क्लिक किया।मेरा फ़ायरमॉकी ऐप ओएसएक्स पर टर्मिनल विंडो क्यों खोलता है लेकिन Win32 पर नहीं?

बदले में, मेरे सरल ऐप के फ़ॉर्म के साथ कुछ अज्ञात कारणों के लिए टर्मिनल विंडो खोल दी गई।
एप्लिकेशन स्वयं ही चला गया और ठीक से व्यवहार किया, लेकिन मुझे उत्सुकता है कि मैक पर टर्मिनल विंडो क्यों खुलती है?

+0

मुझे लगता है कि इसके साथ तैनात 'libcgunwind dylib runtime फ़ाइल' के साथ कुछ करना है। एक बेहतर शब्द की कमी के लिए – Johan

+0

मैं आसानी से स्वीकार करता हूं कि मैं एक पूर्ण मैक ओएसएक्स न्यूब हूं। dylib के साथ, आवेदन नहीं चलेंगे। क्या dylib फ़ाइलों को एक विशेष निर्देशिका में जाने की आवश्यकता है? क्या मुझे ठीक से चलाने के लिए मैक पर कहीं भी विशिष्ट एप्लिकेशन इंस्टॉल करना होगा? ये वे चीजें हैं जिनके बारे में मैं अनजान हूं। – Alan

+0

मेरी पत्नी के पास मैकबुक है और जहां तक ​​मेरा मैक ज्ञान जाता है, मुझे लगता है कि आप इस मुद्दे को लोगों के सामने http://apple.stackexchange.com/ – Johan

उत्तर

2

IIRC यह अगर आप एक bundle

लाजर/पांचवें वेतन आयोग एप्लिकेशन के माध्यम से बाइनरी पर अमल करने के बजाय सीधे ही समस्या थी होता है। आईआईआरसी को सीधे निष्पादित बाइनरी को उन परिस्थितियों में घटनाएं नहीं मिलीं, लेकिन वे ऐप्स कार्बन आधारित थे। बंडल सेटअप (जो कि बहुत अधिक एक मैनिफेस्ट, कुछ डीआईआरएस और सिम्लिंक है) के माध्यम से चलने पर यह समस्या भी चली गई।

3

डेल्फी एक्सई 2 के लिए एक निःशुल्क टूल उपलब्ध है जो आपके लिए ओएसएक्स परिनियोजन ऐप बंडल बनाएगा, विंडोज़ से, PAServer की आवश्यकता के बिना।

http://enesce.com/delphiosx_bundler

चेक निर्देश के लिए रीडमी।

0

आपके आवेदन को एप्लिकेशन बंडल से चलाने की आवश्यकता है। यदि आप इसे सीधे चलाते हैं, तो आपको टर्मिनल विंडो को एप्लिकेशन चलाने वाले कमांड लाइन के साथ देखने का साइड इफेक्ट मिलेगा।

आप Application Bundles के बारे में अधिक पढ़ना चाहेंगे।

/Users/[username]/Applications/Embarcadero/PAServer/scratch-dir/[profilename] 

तो अपनी परियोजना का नाम है Project1:

आप PAServer का उपयोग कर रहे हैं, तो आप मैक पर पहली बार के लिए कार्यक्रम चलाने के बाद, आवेदन बंडल के लिए मैक पर निम्न फ़ोल्डर में देखें , आपको Project1 नामक उस फ़ोल्डर में एक एप्लिकेशन बंडल दिखाई देगा।

यदि आप उपरोक्त विकी आलेख पढ़ते हैं, तो आपको पता चलेगा कि प्रोजेक्ट 1 में .app का "छुपा" एक्सटेंशन है, और पूरी बात वास्तव में एप्लिकेशन चलाने के लिए सभी आवश्यक फ़ाइलों के साथ एक फ़ोल्डर है।

मैक ओएस उपयोगकर्ता के लिए, एप्लिकेशन बंडल एक प्रोग्राम के रूप में प्रकट होता है, जो आइकन के साथ पूर्ण होता है। उपयोगकर्ता एप्लिकेशन को चलाने के लिए एप्लिकेशन बंडल को डबल-क्लिक कर सकता है, इसे अपने डॉक पर खींच सकता है, आदि

एप्लिकेशन बंडल में डिफ़ॉल्ट रूप से डेल्फी आइकन होगा, लेकिन आप इसे अपने आइकन से बदल सकते हैं। मैक पर, खोजक में एप्लिकेशन बंडल पर बस राइट-क्लिक करें, और पैकेज सामग्री दिखाएं चुनें। वहां, .icns फ़ाइल के लिए सामग्री/संसाधन फ़ोल्डर देखें।

मौजूदा छवि फ़ाइलों से अपनी .icns आइकन फ़ाइल बनाने के लिए एक्सकोड के साथ स्थापित आइकन कंपोज़र एप्लिकेशन का उपयोग करें।

बाकी सामग्री के अंदर चारों ओर झुकें। आपको आवश्यक dylib, आपकी प्रोग्राम फ़ाइल, और Info.plist फ़ाइल दिखाई देगी, जो एक टेक्स्ट फ़ाइल है जिसमें एप्लिकेशन आईडी, हस्ताक्षर और अन्य महत्वपूर्ण चीजें हैं।