preface
After the New Year, the app was put on the App Store. Although it was put on the App Store before, there were still many problems, especially when configuring the certificate. Fortunately, the app was put on the app Store at one time. The Flutter project is uploaded to the App Store, which is somewhat different from the original iOS App.
The environment
MacOS 10.15.7
Flutter 2.0.6
Xcode Version 12.4
vscode
Apple Developer configuration
Developer.apple.com Click on the “Account” TAB
If the App requires multiple collaboration, please enter People to enter staff editing. Note that the people responsible for launching the AppStore need to have administration-level access
Then click on the Certificates, Identifiers & Profiles icon
1. Let’s have a look at the Certificates
The Certificates function is to provide development capabilities for Macs. Macs with Certificates can actually debug, package, and store apps in the APP Store.
Certificates come in two environments: Development and Distribution. There are also two types of Certificates: Software and Services. \
(1). Development environment: Debug directly with Xcode belongs to the Development environment, and debug on the simulator does not need to have Certificates. However, debugging and running on the real machine requires Certificates for development and publishing to the APP Store requires Certificates for production. (2). Distribution environment: Putting app Store on shelves, packaging and generating IPA package all belong to production environment. Anything generated through Archive is in production. (3).software: Enable MAC to have the corresponding development and release capabilities, a MAC only need to establish a set. (4). Services: The most common additional Services provided by Apple are message push Services, which will establish different Services Certificates for different apps. After all, each App needs different Services.
Note for the Software section: Certificates work for Macs and are created based on Mac CSR requests, not apps, so there is a limit to the number of Development and Distribution Certificates available for Certificates. If the number exceeds that, no more certificates can be created unless existing certificates are deleted. Once you have Certificates on your Mac, you can create multiple apps on that Mac using the same account you used to apply for Certificates without having to re-apply for Certificates. So the right thing to do is, for a Mac, you just have to apply for one set of Certificates, and you don’t have to create another set of Certificates when you create a second or third app. The Services certificate needs to be created separately, and there is no limit on the number of certificates. However, it is recommended to create the certificate on only one Mac and export the. P12 file to the Mac of the other party. Both Software and Services are Mac bound: Certificates are bundled with Macs and cannot be copied directly to other Macs, but Certificates can be exported from p12 to other Macs. P12 also has the ability to test packaging and distribution. There is no need to apply for Certificates for a second Mac if multiple people are co-developing. P12 files exported from Certificates on other macs can be installed.
(1) Use the Mac Keystring management tool to generate a CSR request file, which is used to apply for Certificates and bind to Certificates
Be careful not to select a certificate in the certificate list, otherwise the menu will not look like this.
CertSigningRequest file, rename it, easy to identify.
(2) To apply for the Development certificate, first create the software part, and then create the push certificate part.
Select iOS Development and create an iOS Development certificate. Xcode11 above you can create Apple Development certificates.
The continue next
Select the certificate file you just created,
Ios_development. cer is the name of the iOS App Development certificate.
Then double-click the button to open the keystring management tool, and you can see the installation in my certificate. It should be noted that the real name is not the file name, but the personal team name of your developer account, and the secret key name inside is the name you just filled in
(3) Apply for the iOS Distribution (App Store and Ad Hoc) production certificate
The method is the same as above, but select iOS Distribution (App Store and Ad Hoc)
Then upload the CSR file, Register, Download, that name. Push certificate application is the same as part 2, except that the App ID bound to the certificate will be selected in the middle. Also, you need to apply for both Development and Distribution environments.
Select the. CertSigningRequest file exported by the Mac Keychain tool and bind it to this Mac.
2. The Identifiers: App id
IOS every APP has its own unique Identifiers. You can apply for your ID card here, which is the unique identifier of the app.
Fill in the app description and the Bundle ID
About the Bundle ID: The very important thing is the ID number of the app. All apps are unique. In order to avoid duplication and identification, the format of anti-domain name + APP name is generally adopted. As shown in the figure. The Bundle ID of the app should be defined in advance when each project is established. In addition to the Bundle ID required for app application, the Bundle ID is required to bind to your app when applying for third-party services, such as wechat login, Umeng Push, and Google services. So, the Bundle ID is very important. Generally, we use the Explicit Bundle ID instead of the Wildcard for Bundle ids. If used, the push part will be useless.
Then Register and go back to the Identifiers list page to see the one you just created.
3.Devices: Device list
Each device in the app has a unique UDID. When you add the UDID to the list of Devices, these Devices have debug testing and AD Hoc installation capabilities. Anyway, iphones and ipads that need to be tested need to be added to this list. The Devices device list is for developer accounts, so you only need to add it once. How to view the UDID of a device? There are many ways,
1.Xcode view (developers view their own)
2. Use dandelion www.pgyer.com/tools/udid
Adding a Device List
4.Profiles: Describes the file
Profiles link information about teams, Identifiers, Certificates, Devices, etc. Profiles are also divided into two environments: Development environment and Distribution environment. Different environments require different profile Profiles. Description files are bound to the pair of apps, so each app will create a corresponding set of description files. However, the description files can be copied to other Macs for use, but the corresponding Certificates exported. P12 files need to be installed for the MACs.
Creating a description file
Link all the information created above together for Xcode to use. Also create description files for both Development and Distribution environments
Select the App ID
Select the corresponding certificates, develop the corresponding development, produce the corresponding production, note the current project of the certificate, do not select the certificate of other projects.
The development environment and Ad Hoc need to select the Devices to be tested so that the Devices can be tested and installed. Choose all of them.
Then download it and rename it. Description files do not need to be installed
All certificates and description files have been created.
5. The Xcode configuration
(1) Login Xcode developer account, this step is easy to forget, especially the new Apple account, of course, you can also go to the inside to select the certificate and configure
(2) Automatically manage Signing must be disabled when configuring certificates and signatures. Otherwise, XCode automatically manages the certificate, creating the certificate, bundle ID, etc. This can be detrimental to certificate management. # Xcode Signing certificate is invalid when build on ext device # Xcode Signing certificate is invalid when build on ext device Just quit Xcode and open it again. To configure a profile, you need to configure the profile for the DEBUG and Release environments. Select the corresponding description file created in section 3.6, debug for development and release for Distribution.
Provisonint Profile selection, development corresponds to development, production corresponds to production.
There may be a small hole that does not correspond to the cer installed on the keystring. Just select Buuld Settings again
One is simulator debugging and the other is real machine debugging (the data cable is connected to the iPhone)
6.App Connnect Register App
Set ids are indentifiers to apply for, options
When filling in the App information, note the following points: The App icon should not contain alpha channel or transparency; The image format of LanchImage can only be PNG. JPG format Xcode cannot be loaded successfully. When filling in the contact information, you need to add the area number, for example, +86 for China. App preview and screenshots need 6.5 inches and 5.5 inches. For UI design drawings: 5.5 inches 1242 × 2208; 6.5 inches 1242 × 2688
7. Multi-person collaborative development certificate management
(1) Multiple Macs run the same iOS project.
It is bundled with the MAC that generates the CSR, and other Macs cannot install it, so other Macs cannot actually test package the iOS project. However, we can export the.p12 file in the keystring to install on another Mac, and then this Mac will have the same packaged test release capability. You need to import the Developer certificate for development and export the Distribution certificate for Distribution. Select the corresponding certificate and export it
Better rename it for easy identification. P12 files are actually encrypted. Cer certificates. You can copy it to other Macs. \
After installing the second Mac and configuring XCode in Chapter 4, you can develop, test, and release iOS
(2) If it is not convenient to give the developer account and password to others for the same ios project developed by multiple people and multiple Macs, the corresponding developer should be added to the developer members.
New users will then receive an email inviting them to join the developer program. New users log into the Apple Developer Center and see the team they have joined
New users can co-develop ios projects with Xcode configuration after just exporting p12 files.
8. Pack your APP and put it on the shelves
(1) Package and upload the IPA package. Ensure that the certificate and profile are correct.
Note that the build number is unique each time. Version is the version number. Multiple version numbers can belong to the same version.
The flutter project can also directly change the version field of the pubspec.yaml file to 1.0.0+1
Equipment selection:
Note that the flutter build ios –release –no-codesign needs to be executed in the flutter outer directory path, not the ios directory path.
The Product – > Archive:
Directly Distribute App (Validate App if you are not sure)
Enter the Select a Method of distribution interface: App Store: App Store launch package Ad hoc: release test package, such as dandelion Enterprise: release Development: Development packages are selected based on their credentials and description file. Select App Store here and click Next
Select a destination: Select whether to upload or export directly
Select Certificate and iOS App Store Profile: description file created previously
And then wait for it to upload
Once you’ve uploaded it, you need to go to App Store Connect and see
When you see the version you just submitted, click the App Store. If it is the first time to send the version, directly select the corresponding version file from the “Build Version”. If it is already on the shelves, you need to update the version
Complete the information and submit it for review.
Others (continue to add…)
Privacy compliance needs attention, the last android shelves have been detailed reference: juejin.cn/post/704849…
During the process of configuring certificates, sometimes opening projects with Xcode will crash, see: juejin.cn/post/703564…
How can I download the App if I cannot find it in the App Store
If the App has been put on the shelves, but the App Store still can not search the App, just passed the need to wait 24 hours, you can go to seven mai data check www.qimai.cn/rank/releas…
References:
1. Flutter Chinese – IOS APP FlutterChina. Club /ios-release…
2. The iOS development from configuration to certificate, released on www.jianshu.com/p/815cba9e7…
(3) the iOS app store shelves process by rounding www.jianshu.com/p/b8d8d1d14…
4. Futter packaging ios application process explanation www.jianshu.com/p/beeab8d38…
5. Configuration Associated Domains www.jianshu.com/p/bebca03dc…