Is it possible to upload an app on App Store without owning an Apple gadget? I have created an Apple ID but I do not think this is enough because I am required to do two-factor authentication.
No, It's not possible that you can upload an Application/Game without XCode. And XCode will only be available in macOS.
It's necessary that your Apple ID also has been enrolled for the developer account. You can visit here for that: https://developer.apple.com/programs/enroll/
And that Apple ID requires two-factor authentication as well from any IOS or OSX Device.
Then after the certificates have been created for the particular application.
These certificates will gone be used from XCode to upload the Application/Game.
Of course in new XCode certificates are also been created dynamically & automatically.
Best of Luck!
After being a enrolled developer you steel need to build app on Mac to submit to AppStore. In case you do not or can not have a Mac you may use cloud service (like MacInCloud, MacStadium, ... ) that enable to use a virtual Mac to build an upload app to AppStore. You then can use the xCode simulator to test your app but it will always be better to have at least one real device to test as some functionalities either are not available in simulator or does not work exactly the same.
Related
I need to know if I can submit IOS app which is not built within apple device.
I'm using IOS in VMware to create IOS app. But now I heard that, In IOS 14 they are not allowed those app which aren't built within apple device. They are not allowing apps which are built with VMware.
Anyone know about this? Please help me. I got stuck at this point.
Please make this clear for me and many more developers who got confusion.
Thank you in advanced.
VMware doesn't matter as long as you are distributing your app via Xcode. Keep in mind the only way to distribute iOS application is to sign your application with Apple developer certificates with xcode and upload it via application uploader also you must have Apple developer account to generate distribution certificates.
Yes, an iOS App submission can be done without owning a MacBook; it is possible to submit an iOS app using VMware to the App Store.
Your VM should run Mac OS, and an app should be done/built in Xcode.
What is important is that Xcode will be required in order to upload a build to App Store Connect. Then you may submit to the Apple Certification Team to review.
And ofc, To submit your app to the App Store, you need to enroll in Apple Developer Program ($99/year) that should be done prior to the steps described above.
I have my .mobileProvision and my cert generated using openssl. I have the .ipa file. I hit iOS Deployment Type = Apple App Store so that others could install it. One of my workers in my group is unable to run it on her iPhone.
I am using Adobe Animate to export it. I have a developer through apple. With Android, it's as simple as typing in the password for the cert and handing the .apk file over. Then telling them to go to their android settings and tap "Allow apps from 3rd party developers"
You have several possibilities :
Use TestFlight to invite users downloading your app before release (the procedure is well explained by Apple here)
Manually install the app on tester's iPhone thanks to Xcode (just Run the app on it)
Use third party services such as Installr which allow you to easily install your app on testers' iPhone (up to 3 device with free version)
I think Deployment Type should be something like Ad-Hoc version and not Apple App Store.
Use adhoc so they can install over wifi and i use test fairy instead of testflight.
U still have to get their udid unless u have an enterprise account
My employer doesn't have an iPhone for testing, they are also not enrolled into Apple's developer program, but they recruited me as an iOS developer.
I was told to create an app and I did it with the help of simulator.
Now, they want me to generate an IPA file of that application for their client who is in another country to test, in his iPhone. Is that even possible?
You will certainly need a developer account if you want to run your app on a physical device (unless that device is jailbroken, which I wouldn't recommend). If your employer hired you as an iOS developer, you need to inform them that a requirement to doing iOS development is a developer account.
If you are going to be writing iOS apps to deploy on client device (which you won't have physical access to), you have a couple of options.
You could have your employer pay for the enterprise developer account ($299/year). This allows you to have an In House Distribution profile, which lets you build an IPA that can run on any iOS device without the need to register the UDID for each device in the provisioning profile.
You could use Apple's TestFlight to deploy the app to your clients' devices. This still requires a paid developer account as you are basically creating an app store build and distributing to others as "beta testers". The app goes through a more lax review process, but it still must have been signed with a distribution certificate, which you only can get with a paid account.
Bottom line, if your company is asking you to develop apps professionally, you need to get them to understand that the $99/year fee is part of the process. IF they can't justify that, they shouldn't be hiring out iOS development jobs.
Without Apple developer's account it is not possible. You would not be able to archive your code either. Have a look at these documents :
Apple's documentation : Exporting Your App for Testing (iOS, tvOS, watchOS)
Stackoverflow : How to export an ipa in Xcode 7
you have to enrolled into Apple's developer program, and add all UDID into you app device ID than generate a provisional profile. install it in xcode than create an archive, zip it and upload to diawi.com. Diawi( https://www.diawi.com/ ) is best solution, It will generate a link which you can give to client and they can install it on their device directly.
I have faced same problem at start of my job :)
- but it is not possible to generate ipa without apple developer account.
- and even if you connect device to deploy then device iOS version and XCode iOS version must be same.
you have to enrolled into Apple's developer program and this is not enough. For over-the-air installation you have to use apple's testflight or hockeyapp like third party apps.
As the title states, I have been developing and testing an app for Iphone. I have got it to install to an iphone via it being plugged into the Mac. But, I would like to get the app place it on my webserver then via a website allow someone to download and install the app. I tried following various tutorials, but as shown below after archiving the app, the export and other buttons are greyed out. Have also made sure 'Generic iOS devices' selected. What could be causing this ?
You have to use Apple TestFlight or use a third party service to allow your beta to be distributed for testing. One good service is HockeyApp, which I am using currently and it is very cheap $10/month.
Without having the UDID of your client, you simply can't!
What is causing this may be that you are not enrolled in the correct Apple developer program.
A stock iOS device will only install an app from a link on a website if the app is signed by certificate from an Enterprise Developer program enrollment (or Ad Hoc provisioned). The Enterprise distribution method is only allowed to employees of the enrolled corporation.
Ad Hoc deployment to devices registered to your enrolled Developer account is also supported by stock iOS devices.
One other possibility is to put a link to your entire Xcode project on your website, with instructions on how anyone with a Mac and Xcode can build your app and then run it on on their device.
TestFlight offers over-the-air beta distribution of iOS apps (on non-jailbroken devices). How can this be done? Is this an iOS feature, or a vulnerability exploit?
This article showed how Apples OTA implementation works and can be used outside enterprises as well: ios wireless app distribution
The complete process is documented by Apple.
Apple also published documentation and sample code for registering devices and get the UDID by using profiles, so your website can detect which device is calling.
Some additional solutions with different strenghts:
iOS Beta Builder, a Mac Application to create the website by using a build. Simply upload the resulting files to your webserver.
Diawi: Simple Web service. Upload your IPA file, optionally set a password and send a link to your testers.
AppSendr: Web service for beta build hosting, similar to Testflight, but does not include the device registration process. But provides deployment utilities to automatically upload new versions.
HockeyKit: Open source project for hosting beta versions on your own PHP5 server with additional functionalities like an client for In-App-Updates, automatic device specific web sites and handling multiple applications. Completely file and directory based.
HockeyApp: Web Service for beta build hosting, In-App-Updates, Statistics, and including device registration, invite and recruitment. Also provides server side crash report collection, symbolication (for all threads) and crash grouping for beta and app store apps (iOS + Mac). SDKs are open source, using HockeyKit, QuincyKit and PLCrashReporter (which is the only safe solution on how to do crash report collection on iOS, see this article.
Note: I am the main developer of HockeyKit and QuincyKit, and one of the developers of HockeyApp.
This was possible before TestFlight rolled out a service. The technique stemmed out of the enterprise distribution mechanism. Since 4.0 devices have supported install from web.
Remember - you still need to sign the beta distribution for a select set of UDIDs you can't just willy nilly install it on any device. All they are doing is taking the email the IPA step out of things.
See:
http://www.alexcurylo.com/blog/2010/08/27/wireless-ad-hoc-distribution/
Update: I want to say that Test Flight is one of the most helpful tools I've used when developing though. Just taking the IPA emailing out of the picture was an understatement- I was just trying to call out the technical mechanism. They do a fantastic job managing the whole beta process. Getting new devices enrolled. Notifying users etc.
Testflight basically uses the normal Ad Hoc as already stated.
For this to work, you need the UDID for every device in order to add it to the Ad Hoc profile, re-compile the app with the new profile an redistribute the new build.
You can get the UDID with the help of the OTA Authentication Request. This is actually a step that is done in MDM before the actual profile is rolled out to the device. It basically asks the device for further information about itself and send it back to a self specified server.
The first step is documented here: Apple OTA Configuration
I guess Testflight uses this right after the registration process to collect the UDID, phone name, ...
Yes this is a core feature of iOS for Enterprise Customers who wish to distribute OTA.
Presumably you would pass your UDID over to TestFlight along with the app and they use their Enterprise Licence to send the app to you. I'm sure I'm missing a lot of the technical details but if you want to know more, Apple has a video on this from WWDC 2010.
Login to developer.apple.com, go to WWDC 2010 Videos and use the link to get to the vidoes. The video you want is "Session 108 - Managing Mobile Devices". It is very informative about what is possible with OTA and the steps you have to take to do OTA provisioning.
Stock iOS devices are "vulnerable" to running the user loading Ad Hoc apps from any developer who has that device's UDID, and registers that UDID among their 100 allowed devices on Apple's developer portal.
OTA distribution is just another way to install an Ad Hoc beta test distribution from an enrolled developer.