Documentation

Introduction

Rosetta Enforcer is an open-source project that is grounded in community and by community.

This application massively simplifies the process of Universal Binary to Single Architecture command, using macOS’s default command set called lipo.

This documentation will guide you through the journey of not only using this program as an average user but also modifying it to your taste and contributing to this active project as a macOS developer.

Feel free to add any additional comments or content to this page and I hope y’all have wonderful days out there!


Folder-File Structure

Branch 1 — main

  • Sources/Rosetta Enforcer/Models.swift — Contains the business logic that dictates the behaviour of the architecture detection and conversion process; mainly the terminal execution commands, including the famous lipo.

  • Sources/Rosetta Enforcer/Views — This folder contains scripts that form the GUI interface of this program; primarily focusing on the seamless interaction between the user and the back-end side of this application.

  • Installers — A folder that possesses the precompiled DMG file for installation, as well as different scripts that are used to generate that DMG file such as Rosetta_Enforcer.json that contains the metadata of where the icon and the background files are located, and specifies the positions of the shortcuts that appear in the installer window.

  • Icons — Contains all the icon files in different resolutions.

Branch 2 — website

  • .eleventy.js — This is a configuration file for Eleventy static website generator.

  • tailwind.config.js — A configuration for Tailwind CSS framework.

  • static/_includes/base.njk — The base nunjucks template file that applies to all markdown files generated by the user.

  • static/css — Contains all CSS files used in the web application.

  • static/dist/output.css — This is a CSS file that is generated by the Tailwind CSS framework. Used in theming the website.

  • static/images — A folder that contains all the image files used in the website.

  • static/*.njk — Files that contain unique nunjucks code that correpond to each menu of the homepage.

Popular Error Codes

  • Fatal Error: .EXEC File Not Found — It means that the app selected is a Catalyst app; meaning the developer converted an iOS app directly into a macOS app, which does not support the architecture stripping feature at the moment. Update TBD.

Other Dependencies Used

  • App2Dmg — An npm module that converts a .app executable to a .dmg archive