Restrict download to Macbook / MacOS of published mobile iOS App - ios

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.

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.

Why do I see a Desktop device in Apple iTunes Connect devices?

We have an iOS app (only) - no Desktop version. When I go to "Sales & Trends" then drill down into the Application -> Devices I see "Desktop" has a huge number of "Units". What does that mean given there is no Desktop version?
There is a Desktop version: the iOS version. Thanks to the new generation of Apple Silicon machines, any iOS app can run on the desktop. So those are all M1 users trying out your app on the desktop.

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!

My iPhone apps cannot be made available on Apple Silicon Mac

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.

Trying to debug a web site on iPad, but the device doesn't appear under Develop menu in Safari on my Mac

According to iOS Developer Library Debugging guide it should be possible to debug a web site in Mobile Safari (on iOS 6) remotely from desktop Safari, through a usual USB connection. But after completing described steps (I turn on Web Inspector on iPad, connect it via USB to my Mac, switch on Develop menu form the preferences) I still do not see any device item under Develop menu in desktop Safari. Is there any other crucial requirement for this to work? Minimal Mac OS X version maybe? I have 10.6.8.
It turns out that support for remote debugging was added only in Safari 6, which, for some unexplainable reason is not available for Snow Leopard, only for Lion (in limited version) and up. So I bought an upgrade to Mountain Lion and it simply works now.
Apple wants to force the developers to upgrade to the recent OSX (which is bundled with the recent Developer Tools).
But there is an working way for debugging iOS6+ Safari for developers using OSX 10.6.8 / Windows / whatever:
WeinRE
It works just fine like the official way. Maybe Apple took this project for their debugging (just a guess).
In the preferences for Safari on iOS, there is an option under advanced that allows the toggling of 'Web Inspector', which turns on and off this feature (at least this is on iOS 6, I don't have older devices to check this on).
There is also a limitation that:
Important: You can only inspect apps on devices that have been transferred to your device from Xcode. You cannot inspect apps that have been downloaded from the App Store, even if it is your app.
So I expect that developer apps are the only other ones that you can manipulate in this manner.

Resources