Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

solinari6

macrumors regular
Original poster
Aug 13, 2008
101
13
So I bought a new MacBook Pro 2 months before the M1 was announced 😞 So I'm stuck with an intel processor for a while now.

I've got an old iOS app that I decided might be worth trying to port to a Mac OS app, and Xcode makes it seem like it's a simple process of just changing the product destination to Mac Catalyst, and it would (mostly) work.

But when I try to do that, I get a weird error. I'm using a 3rd party library in my app, and the error is complaining about the 3rd party library requiring x64 architecture. Which is implying to me that I need a M1 to use Mac Catalyst. I've done some searching trying to figure this out, but the results are awfully vague.

if I find a M1 version of that 3rd party app, will this start working? Or do I really need a M1 processor to build this thing?
 
  • Angry
Reactions: EmotionalSnow

Romain_H

macrumors 6502
Sep 20, 2021
495
420
So I bought a new MacBook Pro 2 months before the M1 was announced 😞 So I'm stuck with an intel processor for a while now.

I've got an old iOS app that I decided might be worth trying to port to a Mac OS app, and Xcode makes it seem like it's a simple process of just changing the product destination to Mac Catalyst, and it would (mostly) work.

But when I try to do that, I get a weird error. I'm using a 3rd party library in my app, and the error is complaining about the 3rd party library requiring x64 architecture. Which is implying to me that I need a M1 to use Mac Catalyst. I've done some searching trying to figure this out, but the results are awfully vague.

if I find a M1 version of that 3rd party app, will this start working? Or do I really need a M1 processor to build this thing?
Apple deprecated 32 but a while ago. It looks like the library you are using isn‘t 64 bit; my guess is: no, you don‘t require an ASi Mac, just an update on your lib. Might be wrong though
 

solinari6

macrumors regular
Original poster
Aug 13, 2008
101
13
Apple deprecated 32 but a while ago. It looks like the library you are using isn‘t 64 bit; my guess is: no, you don‘t require an ASi Mac, just an update on your lib. Might be wrong though
So, here's the exact error, when I choose building for Mac Catalyst:

building for Mac Catalyst, but linking in object file built for , for architecture x86_64

Though I just noticed there's an option to build for "Any Mac (catalyst, apple Silicon, Intel)" and it doesn't even TRY to compile, it just gives me this error:

A build only device cannot be used to run this target.
This executable doesn't support building for macOS, so it can't be used with “Any Mac”.


Not sure what it is saying ... ANY Mac including Intel sounds like the option that I would want to use, but ... alas :(
 

Romain_H

macrumors 6502
Sep 20, 2021
495
420
I see. I suspect that the *.a file is Intel only. You‘d need the source code or an updared library that supports both archs
 
Last edited:

casperes1996

macrumors 604
Jan 26, 2014
7,486
5,650
Horsens, Denmark
So I bought a new MacBook Pro 2 months before the M1 was announced 😞 So I'm stuck with an intel processor for a while now.

I've got an old iOS app that I decided might be worth trying to port to a Mac OS app, and Xcode makes it seem like it's a simple process of just changing the product destination to Mac Catalyst, and it would (mostly) work.

But when I try to do that, I get a weird error. I'm using a 3rd party library in my app, and the error is complaining about the 3rd party library requiring x64 architecture. Which is implying to me that I need a M1 to use Mac Catalyst. I've done some searching trying to figure this out, but the results are awfully vague.

if I find a M1 version of that 3rd party app, will this start working? Or do I really need a M1 processor to build this thing?
Catalyst builds natively for macOS and can work on Intel as well as Apple Silicon. It just uses Mac variants of iOS frameworks. The only thing that requires Apple Silicon is taking an iOS app that has *not* been made for Catalyst or macOS at all, and running it as is.
So, here's the exact error, when I choose building for Mac Catalyst:

building for Mac Catalyst, but linking in object file built for , for architecture x86_64

Though I just noticed there's an option to build for "Any Mac (catalyst, apple Silicon, Intel)" and it doesn't even TRY to compile, it just gives me this error:

A build only device cannot be used to run this target.
This executable doesn't support building for macOS, so it can't be used with “Any Mac”.


Not sure what it is saying ... ANY Mac including Intel sounds like the option that I would want to use, but ... alas :(
Yes, you can do cross compilation and make universal binaries. What you're picking there is not in your project settings - they're probably already said to ALL ARCHITECTURES. What you're picking is the current scheme's target, and "any Mac" is a build only target. When it is selected, hitting build works but hitting run will not, because what it is supposed to run? You haven't told it. That's what the other targets are for. Build and runnable.
there's a library.a file, a library.bundle file, and a library.h file
.a is an archive - it's basically an object file that can contain several object files. So mostly binary with linker symbols
.bundle can contain all sorts of things, right click and show contents to see more
.h is of course the header; I assume you know :p
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.