开发与 ITReddit 原帖

[OS] Rilmazafone: a WYSIWYG designer for DMG installers. What you draw is what mounts

完整上下文原始内容 · Reddit

By the way, Rilmazafone is used to make the DMG for Rilmazafone Problem: when I started developing macOS applications, I realized that there is no easy solution for making DMG files. Sure, there are plenty of CLI tools, but they require you to rebuild and check that your inputs are correct, they have tons of parameters that you need a manual to understand. .DS_Store is an old format with no documentation. Comparison: DMG Canvas is the established tool, solid, but closed source. For a tool used to distribute your own applications, I think having access to source code is important. The CLI tools exist too, create-dmg, dmgbuild, appdmg. But they're CLI-only tools, with no way to visualize what you're making. Advantages: Rilmazafone is fully native, everything is implemented in Swift, including .DS_Store writing and parsing. It has a CLI helper allowing it to work as a part of a pipeline. I've been using it myself for months now to publish other applications. Its WYSIWYG canvas shows what your users will see in Finder pixel-for-pixel. You can drag your applications or folders around, you can add complex backgrounds to them, all using native graphics. You can freely add symbols, text, images, gradients, and then save all that as a template for later use by you or your team. It can also code-sign your DMGs, so they're ready for notarization. Pricing: $19.99 one-time purchase in the Mac App Store. The application is open-sourced on GitHub. The AppStore version gives you an auto-updating, sandboxed, Apple-verified application, and a way to directly support development of this and other applications. Go to the AppStore page GitHub repository Note: I'm the developer of this and many other applications, including Phosphene that's currently at 770+ stars.

01需求标签
开发与 IT功能改进命令行工具未解决

已收集讨论

17 条已收集

17条已收集18条 Reddit 标称评论
u/karatsidhus

I have a weird hack to make the installer look sort of pretty because Tauri piplelines are finicky when it comes to that. This is pretty cool :) UI reminds me of Icon composer in Xcode. Got a star from me!

u/Interesting_Yak_1472楼主回复

Thank you! Icon Composer was the inspiration for the UI

u/alielsokary

This is a great tool! I'd recommend add it to a tap in brew for better discoverability since that it's already open source!

u/Interesting_Yak_1472楼主回复

Thank you! I’d like to add it to homebrew, but I unfortunately can’t self-submit to the main tap, as this requires the repository to have at least 225 stars. Given that I have a lot of apps, I created my own custom tap tha you can use as `brew tap kageroumado/tap`

u/alielsokary回复

Thank you! gonna check it. I actually did the custom tap solution for my own project released several days ago :)

u/Interesting_Yak_1472楼主回复

Thank you! I’m unsure which three S did you spot, but I hope they’re good!

u/LightingLabs

The preflight idea a couple of comments up is the one I'd push hardest on, and I'd extend it past the DMG itself to the .app inside it. A broken DMG layout is the cheap failure, you see it immediately. The expensive one is shipping a perfectly laid-out DMG wrapping an app that was signed wrong. I lost real time to a distribution build that still carried a development aps-environment entitlement: it signed fine, notarized fine, mounted fine, and silently broke push in production. My release script now refuses to build the DMG unless codesign -d --entitlements on the embedded app matches what I expect. If the CLI helper could assert on the embedded app's identity and entitlements before it writes the image, that would make it the last step I actually trust in a release pipeline.

u/Joey___M

WYSIWYG solves authoring; the next trust boundary is reproducibility. A saved template should be plain-text or otherwise diffable, pin every input by relative path and hash, and let the CLI fail clearly when an asset, signing identity, or volume setting differs from the saved project. I would also add a preflight report before build: files included, hidden files, symlinks, permissions, volume name, signing identity, expected size, and whether notarization remains pending. That makes the visual canvas usable in CI without turning it into a black box.

u/Spaaze

Very cool! I was looking for something like this a while ago, may take a look at it at some point. The UI that's inspired by Icon Composer is pretty neat, too.

u/k3muri

This is pretty cool. I also went with the same route (payed app + source available ) with my app. I'm curious how many people is going to go with the open source version.

u/impROS01

native .DS_Store writing/parsing is the part that got me ngl, that file is such a cursed undocumented mess. i've been fighting create-dmg + a checked-in .DS_Store template for my own app and it breaks every time macos touches it. WYSIWYG + a CLI helper for the pipeline is exactly the combo i wanted and never found. starred

u/app-store-review

Rilmazafone — DMG Designer — by Elysia Munoz Ratings: 0 (no ratings yet) Average: n/a ★ Age: released 0 days ago · rated 4+ Overall score: 0 / 100