Does Apple Catalyst support iPhone - ios

There are many resources and tutorials mentioning iPad and/or iOS being compatible with Apple's Catalyst framework,
So, the same source-code runs on Mac OS X as well.
But does Catalyst support iPhone?
(Please tell me your personal experience to clarify this, and not that the name of iPhone operating-system is iOS)

Mac Catalyst allows iOS apps to be built for and run on macOS.
So, by definition, Catalyst apps support iOS, and usually the iPhone. The only case in which they wouldn't is if the app was specifically an iPad-only app that runs on Catalyst on the Mac, but was not enabled to run on the iPhone.
More about Catalyst: https://developer.apple.com/mac-catalyst/
You asked for personal experience: I have apps in the App Store for iOS, iPad, and Mac, via both Catalyst and non-Catalyst builds.

Related

Can I use my IOS device (Iphone) to test my IOS flutter (or react native) app in Windows?

I know you need a Mac in order to build and test IOS apps using cross-platform frameworks, but is there any way I can use an IOS device instead to test out my app while I build it.
The only resources I can find are about using virtual machines to emulate a Mac but sadly my PC isn't that powerful to run both OS smoothly
Short answer: No.
You need a macOS operating system to build/compile an iOS app. No matter whether it has been coded with flutter, react native, ionic or native swift.
You could rent a Mac online, so that you don't need physical access to one. But in the end, you will need macOS somewhere.
If you rent a Mac you will have difficulties running the app directly on your phone. You will need to create the IPA and distribute it via a different connection to your phone.

Restrict download to Macbook / MacOS of published mobile iOS App

We recently had released the app on App Store for iPhone and iPad but once the app got published we do see the Mac OS support and we are even able to download the app in our MacbooxandiMac`.
Is there a way to restrict this or apple does do this automatically as we haven't configured anything for Mac OS?
The whole point of M1 Macs is that they run iPad apps natively. OK, maybe not the whole point, but it's a major part of the meaning of an M1 Mac: its processor is an iPad processor so its apps can be iPad apps.
If you don't want your iPad app to be downloaded to an M1 Mac, you need to opt out. You can do that on the Pricing and Availability page of your app's entry on App Store Connect:
Note the checkbox. It is checked by default. Unchecking it is up to you. You didn't uncheck it, so your app was downloaded to some M1 Macs.

Build or run Mac Catalyst apps on Intel Mac?

I have successfully built an app using Mac Catalyst. It runs on iPhone, iPad, and M1 Macs, and is available now in the App Store as "Designed for iPad". So far, so good.
But it's not available for Intel-based Macs, and I haven't been able to build a version that will run on Intel.
Is this possible? [Edit: Comments below tell me that it is.] If so, how do I do it? And with regard to the App Store, if I do it can I update my existing app to include the Intel-capable version, or does that have to be a separate purchase?
I am using Xcode 13.2.1 on macOS 12.0.1 (Monterey) on an M1 MacBook. I also have an Intel-based MacBook I can use for testing and even building if necessary.
I've been through all the Apple and third-party doc I can find, but couldn't find anything useful. Grateful for any advice!
There are two different ways you can get your iOS app onto Mac.
The first is using Catalyst. This lets you use your iOS code base to deliver a Mac app. This app can be distributed via the Mac App Store or directly to users. Your code base may require some changes to adapt to the expected user experience on a Mac and you may also need to work around facilities that are not available on macOS. Apple has a series of tutorials on turning your iOS app into a Catalyst app.
As Catalyst apps are Mac apps, they can run on both Intel and M1 Macs.
To deliver a Catalyst app you use the "Archive" function in Xcode twice. Once with "My Mac (Catalyst)" as the selected destination and once with "Any iOS device (ARM64)" as the selected destination.
In App Store you need to add both "iOS" and "Mac" versions to your app and the required meta data, screenshots etc. You then deliver both of your archives to App Store Connect and submit the apps for review. Once approved you will have your app on the iOS App Store and the Mac App Store. If you are delivering a Catalyst Mac app then you may want to opt your iOS app from being available on M1 Macs.
In addition to Catalyst, M1 Macs can run apps that are built for iOS as long as the developer hasn't opted-out in App Store Connect - This is a "Designed for iPad" app. You will not see any of these apps for an Intel Mac since they cannot run the ARM64 binary used by in a released iOS app.
Again, you can make changes to your codebase to support the Mac environment and you need to consider services that are not available on macOS. Unlike a Catalyst app you do not need to build a specific Mac version and you cannot distribute the app outside of the App Store.
I did it this way, to get an almost "universal" macOS App, beside the macOS App Store, as Apple is a bit complicated on release a Mac-App.
put iOS, iPad and iMac (from M1 Machines on) to App-Store
copied Xcode project, and tailored a special Download macOS-Version for users having legacy machines, "Silicon + Intel" - so M1, IntelChips will do.
Archive this DL-Version for macOS,
In the next steps of process, do not go to App-Store, but let it "notarising" from Apple for smooth downloads (others are primarily blocked by macOS). Apple approves, that your app is Ok, and from a valid developer after loading it to customers machines.
As soon as notarised, "export" button for dl your copy of unviversal app for macOS.

How can I install a Flutter app on iPhone in Windows?

I have developed an app with Flutter in Windows 10 and I have my iPhone 6S. I have tried to install it through iTunes, but I can't. How can I install the app on my iPhone?
You cannot create an iOS App without a macOS machine. That is not a limitation of Flutter, but rather a problem all app developers face. No matter what technology or toolkit you use, you can only create the app on an Apple device.
Some have made a business out of that and offer you an Apple device as a service or for rent, some developers just buy the cheapest used Mac they can get away with. But you need a Mac. Sorry.
The guide on how to deploy your app when you have a Mac can be found here.

Is it possible to publish Mac Catalyst app as seperate, macOS only version?

When enabling macOS support in my iOS project it runs fine on my Mac. However, I am not sure how this version will be published.
Is it possible to maintain different targets which can be submitted as different apps? One target to the iOS App Store (without macOS support) and one target to the macOS App Store (without iOS support)?
Details:
An iPhone + iPad version of my app has been in the iOS App Store (bundle ID my.company.MyApp) for many years. So has a native macOS version in the Mac App Store (bundle ID my.company.MyAppMac).
Although the iOS and macOS versions doe share a lot of code, it has always quite a lot of work to maintain these two version. Working on a shared project where "only" the UI has to adopted to work well on macOS would be great.
However, I would like to use the Catalyst version to replace the existing, native macOS app. Not as universal new iOS+macOS App. Is this possible?
I'm doing this with a few of my apps.
However, with the most recent one, Apple wouldn't let me give the Mac app and the iOS app the same name. I'm not sure if that was their way of trying to force me to release a universal app, or if it was a temporary App Store Connect issue. The apps I previously released with matching names are still available and I haven't released a new app since then.

Resources