Bir .app dosyası gerçekten ne yapar?


12

Mac OS X'te (Windows'tan geliyor) yepyeni ve .app dosyalarını anlamaya çalışıyorum. Windows'da yürütülebilir dosyalar (.exe dosyaları) vardı. Birini açarsanız, programınız çalışır ve gereken diğer dosyalar başka bir yerde bulunurdu. Mac OS X'te, anladığım kadarıyla, bu .app "dosyaları" gerçekten yalnızca yürütülebilir dosyanın değil, uygulamanın ihtiyaç duyabileceği diğer dosyaları da içeren klasörlere benzer.

Benim sorum, bu .app dosyaları tam olarak ne yapıyor? Bunları delmek ve gerçek yürütülebilir dosyayı çalıştırmaktan ne farkı vardır?

Son zamanlarda OS X üzerinde çalıştırmak için bir uygulama almaya çalışıyordum. Sonunda işe aldım (JAVA_HOME'un ayarlanması gerekiyor gibi görünüyor). Ancak, yalnızca .app klasörüne girip uygulamayı başlatan kabuk komut dosyasını çalıştırdığımda çalışır. .App dosyasını / klasörünü çift tıklarsam, uygulama bir süre dokta sıçrar, sonunda durur ve hiçbir şey olmaz (çılgın gibi dönen hayranlar dışında). Yani açıkça .app dosyasından uygulamayı doğrudan çalıştırılabilir dosyadan çalıştırmaya çalıştığında işletim sistemi farklı bir şey yapıyor.

Sorunu düzeltmek için çalışabilmem için bu uygulamanın çalışmamasına neden olan .app tam olarak ne yaptığını anlamak istiyorum. FYI uygulaması Oracle'ın SQL Geliştiricisidir.


2
.app bir klasörün uygulama gibi davranması için OSX'te sadece bir uzantıdır ve zorunlu değildir. Söz konusu dosyayı sağ tıklayıp içeriği açtınız mı? Düzeni bulmanıza ve yaşadığınız hatayı düzeltmenize yardımcı olabilir.
bmike

.app uzantısı, uygulama dizinini ve ilgili kaynakları (simgeler, grafikler, özellik dosyaları, yerelleştirmeler vb.) içeren normal bir dizini "uygulama paketi" olarak adlandırır. en.m.wikipedia.org/wiki/ Application_bundle makalesi veya Apple geliştiricileri belgeleri.
Alex Popov

Yanıtlar:


12

"uygulamalar", "Paket Paketleri" dir Apple jargon ve işletim sistemi tarafından özel olarak ele alınır. Yukarıda belirtildiği gibi, bunlar aslında Unix dizinleridir, özel bir formatta. Gerçek Unix Yürütülebilir Dosya MacOS adında bir alt dizinde bulunur ve Finder'da "Paket İçeriğini Göster" menüsünü kullanarak görebilirsiniz.

"Uygulama", bir Windows programı yüklediğinizde oluşturulan dizine benzer. Gerçekten de uygulamaya gidebilir ve Unix Yürütülebilir Dosyasını çalıştırabilirsiniz.

Bu sorununuzu çözmez, ancak uygulama hakkında daha fazla bilgi sahibi olmadan paketi manipüle ederek çözülmez. Geliştiriciyle iletişim kurmanız gerekir.

Ayrıca, herhangi bir hata veya uyarı mesajını incelemenize izin veren Konsol uygulamasına da bakabilirsiniz.


Bilgi için teşekkürler. Uygulamanın, kabukta ayarlanmış ancak global olarak ayarlanmamış bir ortam değişkenine bağlı olduğu ortaya çıkıyor (örneğin, Finder veya Spotlight'tan başlatılan GUI uygulamaları tarafından kullanım için). Bu yüzden kabuktan dock üzerindeki simgeye karşı çalıştırdığımda farklı davranışlar görüyordum. O zamandan beri bu değişkeni global olarak ayarlayarak sorunu çözdüm.
user1015721
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.