Evrensel ikili dosya denetleyicisi
lipo ya da file komutunun uygulamanız için yazdırdığını yapıştırın. Metin tam burada, bu sayfada okunur ve hiçbir yere gönderilmez.
Bir örnek deneyin:
Ne yapar
Bir Mac uygulamasının kodu bir ya da daha fazla mimari içerebilir: Apple silicon için arm64 ve Intel için x86_64. İkisini de içeren dosya evrensel ikili dosyadır. Bu araç lipo ya da file komutunun yazdırdığı metni okur, içindeki mimari adlarını bulur ve her parçanın hangi Mac'lerde çalıştığını söyler. Aynı uygulamanın birkaç parçasını yapıştırırsanız, uygulamanın bütününün evrensel olup olmadığını da söyler, çünkü tek bir mimari için derlenmiş bir yardımcı ya da çerçeve bunu bozmaya yeter.
Çalıştırılacak komutlar
lipo -archs YourApp.app/Contents/MacOS/YourApp file YourApp.app/Contents/MacOS/YourApp
Çerçeveler ve yardımcılar dahil, paketin çalıştırılabilir her parçasını bir seferde kontrol etmek için:
find YourApp.app/Contents -type f -perm +111 -exec file {} +Bunları, hata ayıklama derlemesinde değil, tam olarak yayınladığınız derlemede çalıştırın; hata ayıklama derlemesi yalnızca onu derlediğiniz Mac'in mimarisini içerebilir.
Her sonucun anlamı
| Sonuç | Ne anlama gelir |
|---|---|
| Evrensel | arm64 ve x86_64 var. Apple silicon ve Intel Mac'lerde yerel olarak çalışır. |
| Yalnızca Apple silicon | Yalnızca arm64 var. Intel Mac'te açılmaz, bu yüzden bunu sitenizde belirtin. |
| Yalnızca Intel | Yalnızca x86_64 var. Apple silicon'da Rosetta 2 gerekir ve Apple, uygulamalar için genel Rosetta 2 desteğinin macOS 27 sonrasında bittiğini söyledi. |
| Çalışmaz | Yalnızca i386 ya da PowerPC kodu. macOS, Catalina'dan beri 32 bit uygulamaları çalıştırmıyor. |
Kaynaklar: Apple Developer, Building a universal macOS binary ve Rosetta 2 desteğinin sonu hakkında MacRumors, ikisi de 3 Kasım 2026 okundu.
Nasıl çalışır
Bu sayfada çalışan birkaç düz metin kuralı. lipo -archs, lipo -info, lipo -detailed_info ve file çıktılarını, ayrıca arm64, arm64e, x86_64, x86_64h, i386 ve PowerPC adlarını tanır. Bunlardan hiçbirini bulamazsa tahmin yürütmek yerine metni tanımadığını söyler. Yalnızca metni okur, bu yüzden içindeki kodun gerçekten çalışıp çalışmadığını söyleyemez.
Sorular
Bir Mac uygulamasının evrensel olduğunu nasıl anlarım?
Uygulamanın içindeki, Contents/MacOS klasöründeki ikili dosyada lipo -archs çalıştırın. Hem arm64 hem x86_64 listeleniyorsa evrenseldir. Ayrıca Finder'da uygulamayı seçip Get Info komutunu seçebilir ve Kind alanını okuyabilirsiniz.
Ana ikili dosyam evrensel. Uygulamam da öyle mi?
Her zaman değil. Paketin içindeki her çerçevenin, yardımcının ve eklentinin aynı mimarilere sahip olması gerekir. Kontrol etmek için hepsinin file çıktısını yapıştırın.
Yalnızca Intel olan uygulamalar Apple silicon'da çalışmaya devam edecek mi?
Şimdilik Rosetta 2 üzerinden. Apple, uygulamalar için genel Rosetta 2 desteğinin macOS 27 sonrasında bittiğini, bazı eski oyunlar için dar bir istisna olduğunu söyledi.
Yapıştırdığım şey bir yere gönderiliyor mu?
Hayır. Metin bu sayfada okunur ve hiçbir şey gönderilmez.