My iPhone apps cannot be made available on Apple Silicon Mac - ios

In App Store Connect > Pricing and Availability, there is a new checkbox for managing availability on Mac for iOS apps.
I can check the checkbox named "Make this app available on Mac".
But under it, the following message is shown.
Version x.x.x cannot be made available on Mac
(x.x.x is the latest version of the app)
Can I make the app available on Mac or can't it be made available on Mac?
Which is correct, the made-available checkbox or the message?
Apple says "Compatibility with macOS is determined by Apple" in https://developer.apple.com/support/ios-ipados-mac
So, if the app is not compatible, the checkbox should not be shown?
My apps are normal iPhone apps which do not use any special features, devices, or third-party libraries except in-app purchase.
Does anyone know the conditions for iOS apps to be available on Mac?
What message is displayed on your Pricing and Availability's Mac Availability section?

Does anyone know the conditions for iOS apps to be available on Mac?
Not all frameworks are available on both platforms. In order to work on the Mac, you'll have to make sure that your app doesn't use any frameworks that aren't available on that platform.
So, if the app is not compatible, the checkbox should not be shown?
I'd interpret that checkbox as indicating whether you want the app to be available for Mac. There are reasons beyond compatibility that you might want to prevent the app from being installed on a Mac. For example, you might already have a macOS version of the app that you want people to use instead. Apple might be able to determine whether your app can run on macOS, but you still get to decide whether it should run on macOS.
Considering your question, it sounds like you think the app should, but Apple has determined that it cannot in its current state. You'll need to dig into the project and figure out what framework might be preventing that.

I've found that all my iPhone-only apps can not be available on Mac (the "Version x.x.x cannot be made available on Mac" message is shown on the Pricing and Availability settings in App Store Connect), but iPhone-and-iPad apps can be available on Mac (the message is not shown).
I guess iPad-only apps probably can be available on Mac, too, but I'm not sure about that because I don't have iPad-only apps.
It seems that Xcode versions with which apps are compiled are not relevant with Mac compatibility, because my iPhone-and-iPad apps which can be available on Mac are compiled many years ago.
Though all my iPhone-only apps can not be available on Mac, I don't know all iPhone-only apps can not be available on Mac, because Apple says "all compatible iPhone apps and iPad apps on the App Store will be available on the Mac App Store on Apple Silicon Macs" in https://developer.apple.com/support/ios-ipados-mac .
At this time, Big Sur is not released yet, so, it is still possible that the "Version x.x.x cannot be made available on Mac" message for iPhone-only apps might be a bug.
In case this is just a bug, I've unchecked the checkboxes of Mac availability.
UPDATE Sep 25, 2020:
I did nothing but the message "Version x.x.x cannot be made available on Mac" has disappeared. So, I turned the availability on again.

Related

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.

Deploying iPhone and iPad apps on Apple silicon Macs from TestFlight

With the advent of iPhone and iPad apps on Apple silicon Macs, I am wondering how I can distribute beta builds of our app to test on the new hardware without making it accessible to the public.
We have disabled public downloads of our app since we are not sure if they will run up to our standards.
iOS Apps on Mac Availability All of your compatible iOS apps will
automatically be made available on the Mac, or you can select
individual apps below. If you click "Don't Make Available," none of
your existing apps will be made available on Mac.
Is there a way to enable this feature on TestFlight or maybe through a third party service such as AppCenter?
Thanks any helps would be greatly appreciated!
There's an option to enable Test iPhone and iPad Apps on Apple Silicon Macs in TestFlight, you can find this option within testing groups.
You can directly test it on a Silicon-based mac machine with the latest Xcode. You need to choose Mac(Designed for iPad) option there.
After proper testing, you also need to verify your application for MAC OS, otherwise "Not Verified for MAC OS" text will be visible under the application name.
In the above image, you can compare the difference.
If you want to verify your application for macOS.
1-Choose your application on https://appstoreconnect.apple.com/.
2-Choose "Pricing and Availability" under the "General" tab.
3-Click "Verify Compatibility" under "iPhone and iPad Apps on Apple Silicon Macs".
4-Press Verify Button.
Your application will be verified and "Not Verified for MAC OS" text will be removed.
If you require additional information, please, let me know.
Thanks
Theoretical Answer
Since I am unable to test on actual hardware for now, I have an idea that maybe someone on here can test. Considering that Silicon based computers should be able to run any iPhone or iPad application, the could someone confirm if this works:
Download TestFlight on Silicon based Mac
Install development application on Silicon based Mac
This is just a theory and I will remove / edit this post when I or someone else finds the correct approach. If you are lucky enough to have a Silicon based Mac and a developer account it would be greatly appreciated if you could test this out, many thanks!

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.

All newly created iOS apps will be made available on Mac : mine is not working

In AppStore Connect, a new frame appeared a few days ago:
All newly created and existing compatible iOS apps will be made available on Mac. Your compatible apps will be published on the Mac App Store unless you edit their availability.
So I though I would need to publish a newer version of my app to make it available in macOS, but it's not working.
How can I make my app available on iOS ans Mac ?
In June 2020, this message in App Store Connect said that iOS apps would be made available on Apple Silicon Macs.
Later, this message was modified to drop the qualifier about Apple Silicon Macs.
At a glance, this would seem to indicate that Apple has decided to allow iOS apps to run in an emulated ARM environment on x86 Macs, but I do not believe this is the case. Developer Relations probably just decided to drop that qualifier because they want more developers to support running on the Apple Silicon Macs.

iOS could not be installed at this time

So I have tried everything and am currently beating my head against the desk. I am using trigger.io to generate apps for both android and ios. The android apps work just find and I am able to distribute with MDM as needed. The ios app on the other hand just keeps throwing the error " could not be installed at this time."
I have generated and regenerated my certificates/profiles using the documentation provided and still nothing. Can anyone shed some light on this?
Thanks!
Bill
There are a number of additional things you can check:
Is Xcode up to date? Use the App Store to check for updates and install any updates if required.
Do you have the relevant iOS SDK installed in Xcode? Open up Xcode, go to Preferences and check the "Downloads" tab. Install any missing components that are required by your application (e.g. the supported iOS version needed for your app).
Does your iOS device support the minimum iOS version required by your application? Make sure you are running the minimum supported iOS. A difference in the installed version and the build version could be preventing install.
Does "Development Mode" need to be enabled on your device? Use Xcode > Window > Devices to see if Development Mode needs to be installed on your device. This will install some debugging tools to your device but won't affect any existing apps.
Check that your device is trusted with the computer you are using. Disconnect the USB cable and reconnect. You may be prompted on both the device and computer to "trust" each other.
Unlock your device with passcode and try running the app again to see if that makes a difference.
Hopefully one of these is your issue. Please comment if any of these helped.

Resources