IMPORTANT: RapidWeaver 8.7.1 Universal Developer Build

Xcode

You pretty much just need to download Xcode 12. Then select this little drop-down thingy and Xcode will build for both platforms.

If you’re using an M1 machine you might also see a dropdown for building/running on Rosetta.

If you don’t see this stuff, check build settings – see below.

macOS Stuff

That will take care of all of your code and all of the macOS libraries – and other standard libraries that are built in to macOS that you might be using (like libz for zipping or libc++ for… whatever people use that for).

If you’re already compiling on Big Sur, and you don’t have any other open source kind of libraries, then you’re probably done.

Other Stuff

From there it’s up to you to make sure that everything else binary in the project is universal too. This stuff only works when the whole app and all it’s little dependencies and libraries are universal.

RapidWeaver Frameworks

First up you’ll need to make sure you have a copy of the universal frameworks from RW 8.8+. That means RWKit and RMKit – and any other RW framework you’re linking to.

Other Other Stuff

If you have other libraries or dependencies you’ll need to download or recompile those for universal too.

Build Settings

If you ONLY see Intel then open your build settings and look for:

  • Architectures

    • choose Standard Archs from the popup
  • Valid Architectures (VALID_ARCHS)

    • set to: x86_64 arm64
  • Build Active Architecture Only (ONLY_ACTIVE_ARCH)

    • Debug: YES
    • Release: NO
      For build-and-run when debugging it’s easiest and fastest to just build for Intel.
  • Excluded Architectures (EXCLUDED_ARCHS)

    • make sure this is blank

Mostly these will be right at the top. The all-caps name is how they appear if you entered them as a custom build setting manually or use xcconfig files to set up your project.

I found one of my older projects had “ONLY_ACTIVE_ARCH” as a custom build setting at the very bottom. I don’t know how it got that way, maybe from Intel 32-bit days? Don’t ask me how many days I spent looking for that – more than I’d like to admit.

2 Likes