Any recommendations about publishing an app on the App Store? - flutter

I'm learning flutter as a hobby, and I would like to publish an app. Although I've never published an app made with flutter, I've published a game made in Godot on the Google Play store, so I think publishing an app should be quite easy and straight forward. On the other hand, I've heard that publishing an app on the App Store is quite a different story, so I would like to ask if anybody has any experience with it, especially:
the cost (as I've heard it is quite expensive)
is there really a bigger chance that your app won't be approved
how long does it usually take to get your app approved
this is dumb, I know, but can you even publish something on the App Store when you don't have Mac
any other thoughts or recommendations about publishing an app on the App Store

For Android, you can make a release apk build with Android Studio (Flutter plugin installed). But for publishing app to AppStore, you need to use Xcode.
The Apple Developer Program annual fee is 99 USD and the Apple Developer Enterprise Program annual fee is 299 USD.
Apple likes to reject apps like advertising and etc. It has many restrictions.
iOS app takes about 7 days even Android takes 2 days.
You can use VMware with macOS and Xcode installed. Then try to publish without Mac.
Apple requires archived source code so I don't think it is possible without Xcode.

Related

How to release ionic 3 app to IOS in windows 10

I want to publish my ionic 3 app to IOS in windows 10 environment.
https://ionicframework.com/docs/intro/deploying/
iOS Devices
Unlike Android, iOS developers need to generate a provisioning profile to code sign their apps for testing. The good news is that, as of iOS9, you can develop and test your apps on your iOS device without a paid Apple Developer account. This is particularly great for developers who want to try out mobile development with Ionic, since it saves the cost but still provides a lot of the features of having a full Apple Developer account. For a full breakdown of the features included, check out Appleā€™s docs.
Requirements
Xcode 7 or higher
iOS 9
A free Apple ID or paid Apple Developer account
I had a friend who once made and installation of iOS on his PC. It was a bad idea as it took a lot of effort and had to disable cpu cores in order to function. You can make an investigation though. I also consider running a vm a bad idea too but this is also doable.
Sadly there is no way to do that. You need a macOS environment, you can do the following:
The easiest and the best way is to buy a macOS computer
Two other options are:
Setting up a VM with a macOS but that is against all apples policies of course
There are sites where you can rent a mac in the cloud but that can also be expensive.
So yeah, unfortunately the best way to test iOS apps is to buy a mac and an iphone.
To build app for IOS you need Xcode and consequently use iOS.
It may try to use a VM, but this makes the process more complicated still.

Creating iphone App for personal use without uploading to AppStore

I am planning to do an app for personal use only (I don't want to upload anywhere, ex: AppStore)
Is it possible to build one and transfer + install it to my jailbroken IpodTouch?
I just want to make sure it is possible so I don't waste my time creating an app that I can't use ('cause I am not paying $99 to upload it on the AppStore)
Here is a guide for making build & go and build & debug work with a jailbroken iPhone/iPod touch.
It is written for Xcode 3.2.1 and iPhone OS 3.1.2 so I don't know if it works with the newer versions.
http://www.alexwhittemore.com/?p=354
You might want to consider using an online tool like Recoil App Builder or Snappii. Snappii is more AppStore oriented, but their pricing is pretty reasonable. Recoil is free and allows you to install the app on your phone instantly without going through any AppStore hurdles.
Links to App Builders:
http://www.recoilapp.com/
https://www.snappii.com/pricing
Btw, regardless of how you make your app, I do NOT recommend jailbreaking your phone.
You have to pay the $99 to get it on your phone in the first place. Sorry.
You can if you get an app provisioning profile. or Jailbreak, if a jailbreak isn't available for your device iPhone5(s) iPad 4 and Air, mini and retina. You can just purchase a provisioning profile from some other place usually $8-$15 mine was $14 able to load them nicely without paying apple $100 just to get your feet wet.

do iphone app beta testers need a developer's license?

I'd like to distribute my app to a beta tester (ad hoc distribution). Do they need to have the apple developer's license? Do they need a Mac? Or is it enough for them to just have iTunes?
also, is the ad hoc distribution process different for Xcode 4? I know the process for submitting it to the app store is different.
Taking your questions in order:
Beta testers don't need a developer licence.
Nor do they need a Mac.
They don't even need iTunes. (You can deploy via a link they open in Safari on the device itself.)
The process is somewhat different for Xcode 4. (It's quite a bit easier that said.) Whilst I don't like to link to off-site resources, there's a very good blog article that details ad-hoc provisioning using Xcode 4 at: http://diaryofacodemonkey.ruprect.com/2011/03/18/ad-hoc-app-distribution-with-xcode-4/
ad hoc distributin works via itunes. only the perso who makes the app needs a developer account. you will need to provision the app you make to all the devices you want it to install on. via itunes this involves the insane process of clicking on a long serial number which does not look at all clickable to reveal an even longer uuid.
not sure about xcode 4 compared to anything else. only ever used one version of xcode.
No, beta testers don't need to be registered developers.
To make beta testing of iOS apps really simple, please have a look at Hockey Framework:
https://github.com/TheRealKerni/HockeyKit
Beta testers receive their test app over the air and the Hockey Framework even informs them automatically, when a new beta update is available OTA.
Additional reading:
http://www.buzzworks.de/blog/announcing-developer-framework-hockey
http://jeffreysambells.com/posts/2010/06/22/ios-wireless-app-distribution/
No, they don't need a developer licence. Actually, if your user has iOS 4 or higher, they don't even need iTunes. You can use something like iOS Beta Builder. They do, however, need to tell you the UDID of their device. You can get that in iTunes or there are apps in the App Store that find it.
No, beta testers don't need to be approved iOS developers. You will still need to whitelist the UDID of the testers though.
I'd suggest you use Diawi to share your ad-hoc builds with beta testers wirelessly without iTunes, I've tried several solutions and I found it to be the simplest of the pack.
synching
Also try testflightapp.com to distribute your Adhoc builds. You can keep track of the installs and even crash logs.
P.S I don't work at testflight, but find it a lot helpful for beta testing.

Creating an app file that can be installed on an iPhone before it's uploaded to the AppStore

My boss wants me to develop some apps and make them appear on the AppStore.
This is a very small company, he paid the iPhone developer program fee and I am responsible for the rest, I have full access to the account.
I've finished the development on my mac using the simulator. But now I have to test the app on an actual iPhone before it's submitted to the AppStore for review.
The problem is that my boss and I both do not own an iPhone and do not have much money to buy one.
My friend has one and he can test the app for me if I can provide him with a way to download and install the app (his PC has Windows XP and iTunes installed), we live far from each other so it's not feasible to borrow his iPhone and have it directly connected to my mac and run the Xcode to do the testing.
I am going to skip the Development Provisioning Profile stuff and directly jump into the distribution stage.
I would like to know whether the app file created in the distribution stage (the one to be uploaded to AppStore) can be copied into a Windows platform and have it installed on an iPhone.
I'm not sure why you want to skip that part of the process, since that's how you'll test your app on an actual device, before getting to the App Store approval process.
If you log in to the Apple iPhone Developer Center, you can click on the Provisioning Portal link to download the Program Guide.
Within this PDF, go to the sections "Assigning Apple Devices to your Team" and "Creating and Downloading Development Provisioning Profiles" to learn how to build a copy of your app that can run on test devices.
What you're looking for is ad-hoc distribution, which will allow you to hand this application, along with your provisioning profile, to your friend and have him install it in iTunes under Windows. You will need to get the device ID from him first (found in iTunes when the device is connected) to create the proper provisioning file. Apple has thorough instructions on this in the iPhone portal site.
That said, this is a terrible way to do iPhone development. First, not owning an iPhone means that you are probably not familiar with its application UI conventions and how the device behaves in day-to-day use. Things that seem like good ideas when working in the Simulator, which is a mouse-driven environment running on a nice, large monitor, turn out to be unusable on a portable device.
The device also has vastly different performance characteristics than your Mac does. Your friend may be able to point out a few things going wrong, but you really need to hook the device into your Mac and run your application while monitoring Instruments for memory consumption, CPU usage, and other parameters that might point out leaks or other subtle problems. It is for this reason that I spend days hammering on each version of my application on the device before submitting to the App Store.
If you are at all serious about iPhone development (which, judging from the line "develop some apps and make them appear on the AppStore", you are), you need to at least pick up an iPod touch for development. If college kids can pay for one to develop applications on, your company certainly can. Check eBay, where I'm sure people are offloading first-generation models for relatively cheap.
Like #Brad Larson said. Get a iPod Touch, I see some 1st gen ones on ebay for $90. Realistically if even a new iPod Touch is too much money for your employer then I'd start looking for a new job. If an employer is too broke to buy you equipment to do your job that costs less then 1 day of work for you it won't be long before they can't pay you. Been there and still trying to get back pay...

Is Android development restrictive in any way like for the iPhone?

Is Android development restrictive in any way like the iPhone, or can you download whatever and from whoever you want?
I want to learn about development for either iPhone or Android, but from what I hear iPhone development is pretty restrictive!
There are a variety of areas to consider regarding the relative restrictiveness of the two platforms.
The Market
Android Market is undoubtedly less restrictive than the App Store when it comes to the submission process. The upside is that you can get pretty much anything you want into the Android Market. The downside is that you can get pretty much anything you want into the Android Market (a market flooded with spam "applications" is in some ways a restriction).
A big negative on the iPhone side is the fact that your options for installing applications that are not in the App Store are limited -- you can either distribute the application as a beta (limited to 100 users) or jailbreak your iPhone. Android, however, allows you to install apps from anywhere, including a web page.
The Applications
One of the core design philosophies of the Android platform is "All Applications are Created Equal", which is supposed to mean that you can freely replace applications on the phone with a third party version. In practice this is not really the case, as many of the Google applications either have special capabilities not available to most applications (see: Android Market) or use undocumented/native APIs (see: Calendar).
The iPhone on the other hand makes no such claims about equality, and the Apple stance in general is "There is only one way to do it, and that is the Apple way". Additionally third party iPhone applications may not run in the background while Android applications can. New for iPhone OS 4.0 is the ability for apps to run in the background. One thing iPhone applications can currently do that Android applications can not is receive push notifications. New for Android 2.2 is the ability for apps to receive push notifications via something called the Android Cloud.
The Source
Android is open source - mostly (some firmware components are closed source). Even so, there is some rocket science involved just in getting the Android codebase to compile. In addition Google has sent cease & desist orders for redistributing custom images that include the Android Market and Google Maps application.
The iPhone is completely closed source, and recent changes to the developer agreement have been controversial as they mandate that all apps submitted to the app store be originally written in "Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs"
The SDK
The Android SDK can be freely downloaded; the iPhone SDK requires free user registration to download. Android development can be done under Mac OS X, Windows or Linux, while iPhone development is only possible under Mac OS X. You'll also need to pay for the $99 iPhone developer account if you want to test your software on an actual device (rather than the simulator).
The Userbase
And last but certainly not least, the userbase. When this answer was originally written the iPhone had a much larger userbase and was growing much faster than Android. This is changing as Android begins to support multiple carriers and hardware platforms (see: the Open Handset Alliance). The list of devices running Android is now quite long although none yet match the popularity of the iPhone.
Some analysts are now reporting that Android is outselling the iPhone and are predicting that Android will soon overtake iPhone for market share. Other analysts think that Apple will make up ground when the iPhone 4g is released. The former seems more likely based on the parallel history of the PC industry -- Apple's design and user experience were copied by GoogleMicrosoft and opened up to run on commodity hardware.
Nope! That's the beauty of Android. Even though there is a AppStore equivalent, you can download an app from anywhere. Plus, it's programmed in Java, so you don't have to worry about all that mundane stuff like garbage collection (just at the cost of speed).
Don't mean to insult the iPhone. It is a great platform too.
EDIT: A lot of people have been noting that the iPhone APIs are not restrictive, but rather the approval process is. This is true, however the iPhone's APIs are still somewhat limited, in the way of low level hardware access, backgrounding (only notifications in 3.0), etc.
iPhone 3.0 is a step in the right direction, but there is some work left to do.
Also, have you considered making JB iPhone software? I'm not sure of it's market share, but I do know of a lot of people with Jailbroken devices.
EDIT: I have read in some more posts on similar questions that Android's Java can slow things down due to the Garbage Collector. Just something to watch out for.
If you say iPhone is restrictive, I would describe Android as immature.
There are still many bugs in Android that you will inevitably run into if you are doing some none-trivial programs. Some of those only exist on the emulator while others only on the actual phone.
Though in my experience, developing on Android with Eclipse feels just as good as developing on iPhone with Xcode, if not better. The tool set provided by Google is very complete and is cross-platform. Garbage collector does make huge difference while programming.
I'm assuming you already have a Mac otherwise the iPhone wouldn't be an option at all.
iPhone development isn't particularly restrictive. Getting the resulting app on Apple's App Store is the restrictive part.
If the app you're working on follows Apple's guidelines on what an iPhone app is allowed to do, picking that as your initial development platform seems a no-brainer. If it violates Apple's guidelines and can't be modified to follow them, your market will be restricted to jailbroken phones - a very small subset.
Well is Apple open at all? Uhm.. eh.. no. Closed hardware, closed software, closed everything. I think Alcatraz is more open then Apple, at lease you get to leave your cell there.
You can write an application for the iPhone. Will it get approved? Well not sure. They could deny it for any reason whatsoever. You may have used a blue background and Apple only likes white and gray, thus deny.
However with Android it is completely open. You can develop for it, or even develop Android itself. No fear of ever being denied.
But in all seriousness. Apple has a larger market share, millions of people use and love the iPhone and they will most likely not be leaving for quite a while. While on the other hand the Android was for T-Mobile. Does anyone even use T-Mobile?
IMO if you do not have a gPhone I would develop for the iPhone. However as much as I dislike the Apple philosophy of being such a closed nature, they are the better bet if you wish to make some money with your application.
There are some restrictions...
some functionality requires rooted phones (e.g. Wireless Tether for Root Users)
distribution via the Android marketplace is subject to the Developer Distribution Agreement. Google limited access to this tether app due to their carrier agreements.
some Android APIs are not finished (e.g. Bluetooth HID)
'Restriction' can mean two things:
The ability to install anything you want. Google is very good at that, Nokia somewhere in the middle and Apple is the worst
What you are able to do with you app. They all have arbitrary restrictions on what you can and can't do, but it seems to me Nokia is the least restrictive, Google inbetween and Apple the worst (again).
YMMV
No, you can sign the application yourself and distribute the resulting APK file via your own web server or by other means.
Yes, Android is indeed open and you can publish whatever you'd like to the Market Place
But:
you still need to learn how sign your application and mind the technical posting requirements to the market (like keeping proper version IDs etc.)
if you really want to get/send a package from/to anyone, then the receiver of the package (called an APK file will need to know how to use a command line tool called 'adb' to administer their phone to install & uninstall applications. It's pretty simple to do, but
you need to have Android drivers installed and the SDK tools.
To be fair to the iPhone development model, you can also distribute test versions of your application reasonably easily, though perhaps not as easily as with Android. Your testers need to provide you a special device ID which they get from iTunes while the device is connected, then you create a license file containing keys for all of your testers which you distribute with the release directory of your application. The users then install your application via iTunes.
In most cases no, but Google has allowed the carrier and the device manufacture the ability to restrict certain things. Carriers are allowed to block individual apps. Also carriers/manufactures can prevent certain features of the device.
One example is the Motorola Backflip, it wont let you install non Official market applications. Also some phones do not have access to the Official Market.