Flutter’da macOS Dmg Çıktısı Alma
Also published on Medium.
Merhaba sevgili flutter geliştiriciler ,

Bugün sizlere yazmış olduğunuz Flutter uygulamasının nasıl kolayca dmg çıktısını alacağınızı göstereceğim , hiçbir Appstore-Xcode işlemi de gerekmeyecek .
Öncelikle npm kurmanız gerekmektedir , NodeJS kendi sitesi üzerinden kurabilirsiniz :
Node.js - Run JavaScript Everywhere
Npm kurduktan sonra ihtiyacımız olan paketi kuruyoruz :
npm install -g appdmg
Paketin linki bu eğer detaylı incelemek isterseniz :
Paketi kurduktan sonra Flutter projemizin bulunduğu dosyanın içerisine geliyoruz , ve içerisine şu şekilde dosyalarımızı oluşturalım :

Herhangi bir dosyanın içerisinde olmasına gerek yok sadece flutter proje dosyasının içerisinde olması yeterli kolay bulmak açısından.
Icon’un ismi size kalmış ve dilerseniz bu siteden yapabilirsiniz, ben buradan yapmıştım :
Sonrasında config.json dosyamızı yapılandıralım :
{
"title": "Uygulamanızın İsmi",
"icon": "./favicon.icns",
"contents": [
{
"x": 448,
"y": 344,
"type": "link",
"path": "/Applications"
},
{
"x": 192,
"y": 344,
"type": "file",
"path": "../../build/macos/Build/Products/Release/uygulamamız.app"
}
]
}
Bu şekilde yapılandıralım.
Sonrasında terminal’e gelip
flutter build macos
Komutunu çalıştıralım ve çıktımızı alalım.

Uygulamız flutter projemiz içerisinde bu dosya yolunda olacaktır.
Sonrasında terminal’den cd komutunu kullanarak dmg_creator dosyasına kadar girelim.
Sonrasında terminal’e gelip
appdmg ./config.json ./fluttermacos.dmg
Komutunu çalıştıralım ve çıktımızı alalım , çıktımız aynı dosya içerisinde oluşacaktır. Fluttermacos.dmg yazmanıza gerek yok isterseniz oraya yusuf.dmg de yazabilirsiniz :D
Sonrasında dmg yi finderdan bularak veya direk bir yere sürükleyerek , sonrasında tıklayarak kurabilirsiniz :

Kurduktan sonra normal tıklayarak denediğiniz de güvenlik hatası verebilir , böyle yaparsa sağ tıklayarak open demeniz gerekmektedir.
Evet , yazımı okuduğunuz için çok teşekkür ederim .
Bonus olarak da eğer uygulamanızda izin gereken şeyler varsa örneğin en yaygını API Request , örneğin bunun için DebugProfile.entitlements dosyası içerisinde :
<key>com.apple.security.network.server</key>
<true/>
<key>com.apple.security.network.client</key>
<true/>
yazarak izin almanız gerekmektedir .
Tekrardan teşekkür ederim , hoşçakalın :)