Could I submit app to appstore without ios device?
Solution 1
You do not need a device, and can archive when it's set to iOS Device. The best bet is to test on as many devices as you can, and archive when it's plugged in. Although when it says iOS Device, you can archive. The reason it's grayed out is probably an error in your provisioning profile or certificate. You may want to look under Organizer under profiles or under your build settings.
You need a development certificate for testing locally and distribution certificate for submission to the app store. You need to create a request in keychain then submit it using iTunes Connect, and then download the proper provisioning profiles and certs, and install it in XCode Organizer.
Best bet is to purchase a cheap device like an iPod Touch or iPhone, that can test most of your capabilities (iPod doesn't have most capabilities). You can compile for iPad with iPod or iPhone. So you just need an iOS device that can support your version 4.3+ or 5,6,7.
My previous answer was not correct, but this one is. Trausti was actually correct.
Solution 2
From Official Apple Documentation
To create an archive
For iOS, tvOS, and watchOS apps, choose a generic device or your device name from the Scheme toolbar menu in the project editor.
You can’t create an archive of a simulator build. If a device is connected to your Mac, the device name appears in the Scheme toolbar menu. When you disconnect the device, the menu item changes to the generic device.
Choose Product > Archive.
The Archives organizer appears and displays the new archive.
So you don't need an iOS Device to create an archive and distribute it on the App Store or for beta/ad-hoc testing.
user2765848
Updated on June 11, 2022Comments
-
user2765848 about 2 years
Today I want submit my app to app store, I created apple ID and prepared app for upload. I created Distribution Provisioning Profile and I prepared everything in xcode but when I change iPhone Simulator 6.1 -> iOS Device (button archive is unavaible)
Check dependencies
Code Sign error: A valid provisioning profile matching the application's Identifier 'com.etomek.Ukladanka' could not be found
I thought that I need Developer Provisioning Profile? But I don't have any iPhone/iPad
So Could I submit app to appstore without ios device ?
-
apollosoftware.org almost 11 yearsAbsoutely right. Disto License from ITunes Connect. YOu need to submit your cert request from your keychain. There are a bunch of tutorials on Google.
-
apollosoftware.org almost 11 years+1 on bullet point 3. You need to be able to test out gestures. Swipes, multi touch, long taps, etc. You can only do so much with simulators ;)
-
Martin Ullrich almost 11 yearsI've released several apps with a completely "virgin" developer account without ever registering a device.. i've tested using other accounts though. but for only distributing it, one does not need a device. (it's just hard to set up correct profiles, certificates, code signing if you're new to the system)
-
user2765848 almost 11 yearsso how you grayed out archive options ?
-
Trausti Thor almost 11 yearsThis is just plain and simple wrong answer. You don't need any device except for a mac and Xcode to deliver app to App Store
-
Trausti Thor almost 11 yearsNo, you don't need a device. In xcode, you just pick iOS Device instead of a simulator, even though there is no device connected. Go to Project and pick archive. In the wizard there is an option to send to App Store
-
apollosoftware.org almost 11 yearsYou are right, you can archive when it says iOS Device. Just never had. I tried to upvote but it won't let me. Anyhow, kudos, pretty fundamental thing that we overlooked (the ones who said you can not). I've just never done it like that.
-
clocksmith over 9 yearsI cannot archive. I get this error after selecting archive: "Unable to create a provisioning profile because your team has no devices registered in the Member Center. Please connect a device, enable it for development, and add it to the Member Center using the Organizer."
-
apollosoftware.org over 9 yearsWhat version of XCode are you using? It's slightly different for 6.x+