Prepare your app for submission: Before submitting your app, make sure it meets all the guidelines and requirements set by Apple. Ensure that your app is stable, performs well, and complies with Apple's App Store Review Guidelines. Test your app thoroughly to identify and fix any bugs or issues.
Setting up Xcode to automatically manage your provisioning profiles
This setup is working on my Mac
Building a deployable iOS app requires a selected Development Team with a
Provisioning Profile. Please ensure that a Development Team is selected by:
1- Open the Flutter project's Xcode target with
open ios/Runner.xcworkspace
2- Select the 'Runner' project in the navigator then the 'Runner' target
in the project settings
3- Make sure a 'Development Team' is selected under Signing & Capabilities > Team.
You may need to:
- Log in with your Apple ID in Xcode first
- Ensure you have a valid unique Bundle ID
- Register your device with your Apple Developer Account
- Let Xcode automatically provision a profile for your app
4- Build or run your project again
For more information, please visit:
https://flutter.dev/docs/get-started/install/macos#deploy-to-ios-devices
Or run on an iOS simulator without code signing
sudo gem install cocoapods
open ios/Runner.xcworkspace
Importend open workspace and not project.
With project you will get many errors...
cd ios
sudo gem update cocoapods --pre
flutter pub get
pod update
pod install
open ios/Runner.xcworkspace
flutter clean
flutter pub get
cd ios
rm Podfile.lock
pod install / pod update
If you test on device RUN application from command line then you have more debug information
flutter build ios
flutter devices
flutter run --profileA Dart VM Service on iPhone van Sergej is available at: http://127.0.0.1:64975/hFolSLrZceA=/
The Flutter DevTools debugger and profiler on iPhone van Sergej is available at: http://127.0.0.1:9100?uri=http://127.0.0.1:64975/hFolSLrZceA=/
Run Mobile app on device
Then connect IPhone via USB
Troubleshooting
Unable to load contents of file list: '/Target Support Files/Pods-Runner/Pods-Runner-resources-Debug-input-files.xcfilelist'
1206 open ios/Runner.xcworkspace
1207 pod install
1208 ls
1209 cd ios
1210 pod install
1211 pod install
1212 pod repo update
1213 pod install
1214 pod install --repo-update
1215 pod update Firebase/Storage
flutter devices
3 connected devices:
iPhone van Sergej (mobile) • 00008020-00094DCE3AD9002E • ios • iOS 16.5.1 20F75
macOS (desktop) • macos • darwin-x64 • macOS 13.4.1 22F82 darwin-x64
Chrome (web) • chrome • web-javascript • Google Chrome 114.0.5735.133
• Error: iPhone van Sergej is busy: Fetching debug symbols for iPhone van Sergej. Xcode will continue when iPhone van Sergej is finished. (code -10)
flutter run
Launching lib/main.dart on iPhone van Sergej in debug mode...
Updating project for Xcode compatibility.
Upgrading project.pbxproj
Upgrading Runner.xcscheme
Automatically signing iOS for device deployment using specified development team in Xcode project: 2A53BY7LNJ
Running pod install... 17,4s
Running Xcode build...
Xcode build done. 43,0s
Failed to build iOS app
Could not build the precompiled application for the device.
Error (Xcode): No profiles for 'be.autov.AutoVBE' were found: Xcode couldn't find any iOS App Development provisioning profiles matching 'be.autov.AutoVBE'. Automatic signing is disabled and unable to generate a profile.
To enable automatic signing, pass -allowProvisioningUpdates to xcodebuild.
autov.be/FlutterFlow/autovbe/ios/Runner.xcodeproj
Error (Xcode): Signing for "ImageNotification" requires a development team. Select a development team in the Signing & Capabilities editor.
autov.be/FlutterFlow/autovbe/ios/Runner.xcodeproj
It appears that there was a problem signing your application prior to installation on the device.
Verify that the Bundle Identifier in your project is your signing id in Xcode
open ios/Runner.xcworkspace
Also try selecting 'Product > Build' to fix the problem.
Details
Simulator device returned an error for the requested operation.
Domain: IXErrorDomain
Code: 2
Failure Reason: Failed to create promise.
User Info: {
DVTErrorCreationDateKey = "2023-06-23 05:32:31 +0000";
FunctionName = "+[IXPlaceholder _placeholderForBundle:client:withParent:installType:metadata:placeholderType:mayBeDeltaPackage:error:]";
IDERunOperationFailingWorker = IDELaunchiPhoneSimulatorLauncher;
SimCallingSelector = "installApplication:withOptions:error:";
SourceFileLine = 884;
}
--
Failed to set app extension placeholders for be.autov.AutoVBE
Domain: IXErrorDomain
Code: 2
Failure Reason: Failed to create promise.
User Info: {
FunctionName = "+[IXPlaceholder _placeholderForBundle:client:withParent:installType:metadata:placeholderType:mayBeDeltaPackage:error:]";
SourceFileLine = 884;
}
--
Attempted to set app extension placeholder promise with bundle ID be.autov.AutoVBE that does not match required prefix of be.autov.AutoVBE. for parent
Domain: IXErrorDomain
Code: 8
Failure Reason: Mismatched bundle IDs.
User Info: {
FunctionName = "-[IXPlaceholder setAppExtensionPlaceholderPromises:error:]";
SourceFileLine = 1392;
}
--
Analytics Event: com.apple.dt.IDERunOperationWorkerFinished : {
"device_model" = "iPhone14,8";
"device_osBuild" = "16.4 (20E247)";
"device_platform" = "com.apple.platform.iphonesimulator";
"launchSession_schemeCommand" = Run;
"launchSession_state" = 1;
"launchSession_targetArch" = "x86_64";
"operation_duration_ms" = 2703;
"operation_errorCode" = 2;
"operation_errorDomain" = IXErrorDomain;
"operation_errorWorker" = IDELaunchiPhoneSimulatorLauncher;
"operation_name" = IDERunOperationWorkerGroup;
"param_consoleMode" = 0;
"param_debugger_attachToExtensions" = 0;
"param_debugger_attachToXPC" = 1;
"param_debugger_type" = 3;
"param_destination_isProxy" = 0;
"param_destination_platform" = "com.apple.platform.iphonesimulator";
"param_diag_MainThreadChecker_stopOnIssue" = 0;
"param_diag_MallocStackLogging_enableDuringAttach" = 0;
"param_diag_MallocStackLogging_enableForXPC" = 1;
"param_diag_allowLocationSimulation" = 1;
"param_diag_checker_tpc_enable" = 1;
"param_diag_gpu_frameCapture_enable" = 0;
"param_diag_gpu_shaderValidation_enable" = 0;
"param_diag_gpu_validation_enable" = 0;
"param_diag_memoryGraphOnResourceException" = 0;
"param_diag_queueDebugging_enable" = 1;
"param_diag_runtimeProfile_generate" = 0;
"param_diag_sanitizer_asan_enable" = 0;
"param_diag_sanitizer_tsan_enable" = 0;
"param_diag_sanitizer_tsan_stopOnIssue" = 0;
"param_diag_sanitizer_ubsan_stopOnIssue" = 0;
"param_diag_showNonLocalizedStrings" = 0;
"param_diag_viewDebugging_enabled" = 1;
"param_diag_viewDebugging_insertDylibOnLaunch" = 1;
"param_install_style" = 0;
"param_launcher_UID" = 2;
"param_launcher_allowDeviceSensorReplayData" = 0;
"param_launcher_kind" = 0;
"param_launcher_style" = 0;
"param_launcher_substyle" = 0;
"param_runnable_appExtensionHostRunMode" = 0;
"param_runnable_productType" = "com.apple.product-type.application";
"param_testing_launchedForTesting" = 0;
"param_testing_suppressSimulatorApp" = 0;
"param_testing_usingCLI" = 0;
"sdk_canonicalName" = "iphonesimulator16.4";
"sdk_osVersion" = "16.4";
"sdk_variant" = iphonesimulator;
}
--
System Information
macOS Version 13.4.1 (Build 22F82)
Xcode 14.3.1 (21815) (Build 14E300c)
Timestamp: 2023-06-23T07:32:31+02:00
Unable to install /Users/sergejdergatsjev/Documents/autov.be/FlutterFlow/autovbe/build/ios/iphonesimulator/Runner.app on
5622139F-3111-4B8C-A26C-0939215FA6B9. This is sometimes caused by a malformed plist file:
ProcessException: Process exited abnormally:
An error was encountered processing the command (domain=IXErrorDomain, code=2):
Simulator device returned an error for the requested operation.
Failed to create promise.
Underlying error (domain=IXErrorDomain, code=2):
Failed to set app extension placeholders for be.autov.AutoVBE
Failed to create promise.
Command: xcrun simctl install 5622139F-3111-4B8C-A26C-0939215FA6B9
/Users/sergejdergatsjev/Documents/autov.be/FlutterFlow/autovbe/build/ios/iphonesimulator/Runner.app
Error launching application on iPhone 14 Plus.
Solution
To resolve the issue you encountered, it is essential to have separate bundle identifiers (bundleIds) for both your project and extension. This ensures that each component of your application is uniquely identified within the system.
Here is an example to illustrate the concept:
App bundleId: be.autov.AutoVBE
Extension bundleId: be.autov.AutoVBE.Notification
By having distinct bundleIds for your project and extension, you establish a clear distinction between the main application and its associated components. This separation allows the system to recognize and handle them appropriately.
The error you experienced likely occurred because you were using the same configuration file for both your project and the notification service. This led to conflicts and inconsistencies within the system, resulting in the error message.
To resolve the issue, you made the necessary adjustment by ensuring that the notification service configuration file corresponds to the correct bundle identifier. By matching the correct configuration file with the appropriate bundleId, you effectively resolved the problem.
It's important to note that maintaining separate bundleIds for different components of your application is a common practice in app development. This practice ensures proper functionality, resource management, and avoids conflicts between various parts of your project.
By adhering to this best practice and correctly configuring the bundleIds and associated configuration files, you can ensure a smooth and error-free execution of your application and its related services.
In summary, it is crucial to assign distinct bundleIds for your project and extension to avoid conflicts and enable proper system recognition. By ensuring the correct configuration file is linked to the appropriate bundleId, you were able to address the error and resolve the issue you encountered. Following these guidelines will help maintain the integrity and functionality of your application.
Normal working method if you change the bundle id then an identifier is generated automatically.
Certificates, Identifiers & Profiles
Add Apple ID in XCode
Failed to create provisioning profile.?
There are no devices registered in your account on the developer website. Select a device run destination to have Xcode register it.
iPhone van Sergej (mobile) • 00008020-00094DCE3AD9002E • ios • iOS 16.5.1 20F75
macOS (desktop) • macos • darwin-x64 • macOS 13.4.1 22F82 darwin-x64
Chrome (web) • chrome • web-javascript • Google Chrome 114.0.5735.133
sergejdergatsjev@MacBook-Pro-van-Sergej autovbe % flutter run
Launching lib/main.dart on iPhone van Sergej in debug mode...
Automatically signing iOS for device deployment using specified development team in Xcode project: 2A53BY7LNJ
Running pod install... 15,5s
Running Xcode build...
└─Compiling, linking and signing... 20,7s
Xcode build done. 294,8s
Failed to build iOS app
Could not build the precompiled application for the device.
Error output from Xcode build:
↳
2023-06-22 19:58:04.854 xcodebuild[6311:188695] DVTCoreDeviceEnabledState: DVTCoreDeviceEnabledState_Disabled set via user default (DVTEnableCoreDevice=disabled)
** BUILD FAILED **
Very nice video with explanation https://youtu.be/YPLs3xrDcm0
Starter Hello World with easy example about icons. https://www.youtube.com/watch?v=fXeDe9tafG8
No such module 'FirebaseMessaging' flutterflow
https://github.com/firebase/firebase-ios-sdk
Choice Runner.app and check package.
To initiate the process, follow these steps
- From the Keychain Access menu, select "Certificate Assistant," and then choose "Request a Certificate from a Certificate Authority."
- Within the Certificate Assistant dialog box, provide an email address in the User Email Address field.
- Enter a name for the key in the Common Name field (e.g., "Sergio Dev Key").
- Keep the CA Email Address field blank.
- Select the option "Saved to disk" and proceed by clicking "Continue."
Xcode Product -> Archive disabled
Test your app on Real Device
Create an App Store Connect record: App Store Connect is a platform provided by Apple for managing your apps' metadata, screenshots, pricing, and more. Create an App Store Connect record for your app by providing relevant details such as the app's name, description, keywords, and screenshots.
Generate an app archive: Use Xcode, Apple's integrated development environment (IDE), to create an archive of your app. Ensure that the archive is built for a distribution target and signed with a valid distribution certificate.
Submit your app for review: In App Store Connect, navigate to the "My Apps" section, select your app, and follow the steps to submit it for review. Provide any additional information or documentation required by Apple during the submission process.
Wait for the review process: After submitting your app, it will undergo a review process by Apple's App Store review team. This process typically takes a few days but can vary. During this time, Apple checks your app for compliance with their guidelines and standards.
Respond to review feedback: If your app requires any changes or if the review team requests additional information, you'll receive feedback through App Store Connect. Make the necessary updates and resubmit your app for review.
Release your app: Once your app successfully passes the review process, you can choose to release it immediately or schedule a specific release date. You can control which countries or regions the app is available in, set pricing, and manage other aspects of its release.
It's important to note that this is a general outline of the process, and there may be additional steps or considerations specific to your app or Apple's guidelines. Make sure to refer to Apple's official documentation, such as the App Store Review Guidelines and the App Store Connect Developer Help, for detailed instructions and up-to-date information.
flutter devices
3 connected devices:
iPhone van Sergej (mobile) • 00008020-00094DCE3AD9002E • ios • iOS 16.5.1 20F75
macOS (desktop) • macos • darwin-x64 • macOS 13.4.1 22F82 darwin-x64
Chrome (web) • chrome • web-javascript • Google Chrome 114.0.5735.133
Error in Runner Xcode profile
You currently don't have access to this membership resource. To resolve this issue, agree to the latest Program License Agreement in your developer account.Asset Catalog Creator
An excellent app for quickly creating assets
(Install from App Store)
- AppIcon.appiconset is a directory that contains a collection of image files used as the app's icons.
- These icons are used to represent the app on the device's home screen, app switcher, and other system interfaces.
- The icons should be provided in various sizes and resolutions to support different devices and display densities.
- The AppIcon.appiconset is typically configured in the Xcode project settings, and the appropriate icon is automatically selected based on the device and the required size.
2. LaunchImage.imageset:
- LaunchImage.imageset is a directory that contains a collection of image files used as the app's launch or splash screens.
- The launch screen is the initial screen that appears when the app is launched and is displayed while the app is loading its interface.
- The launch image provides a smooth transition from the app launch to the main interface and gives the user visual feedback that the app is loading.
- Similar to the AppIcon.appiconset, the LaunchImage.imageset should contain images in various sizes to support different devices and display densities.
- The LaunchImage.imageset is typically configured in the Xcode project settings, and the appropriate launch image is automatically selected based on the device and the required size.
To summarize, AppIcon.appiconset is used for providing icons that represent the app on the device, while LaunchImage.imageset is used for providing images that are displayed during the app's launch to provide visual feedback to the user.
Starting from iOS 8, Apple introduced a new approach for handling launch screens called Launch Storyboards, which replaced the need for providing Launch Images in specific sizes and formats. Launch Storyboards offer more flexibility and responsiveness across different device sizes and orientations.
However, if you still need to support older versions of iOS or prefer using Launch Images, here are the recommended formats and sizes:
1. Format:
- Launch Images should be provided in PNG format.
2. Sizes:
- For iPhone-only apps:
- 320x480 pixels (Retina 3.5-inch) - Named "Default.png"
- 640x960 pixels (Retina 4-inch) - Named "Default@2x.png"
- 640x1136 pixels (Retina 4-inch, 5.5-inch) - Named "Default-568h@2x.png"
- For universal apps (supporting both iPhone and iPad):
- 768x1024 pixels (iPad non-Retina) - Named "Default-Portrait.png"
- 1536x2048 pixels (iPad Retina) - Named "Default-Portrait@2x.png"
- 1024x768 pixels (iPad Landscape) - Named "Default-Landscape.png"
- 2048x1536 pixels (iPad Retina Landscape) - Named "Default-Landscape@2x.png"
- For iPhone X and newer devices with notch:
- 1125x2436 pixels (iPhone X, iPhone XS, iPhone 11 Pro) - Named "Default-2436h@3x.png"
- 828x1792 pixels (iPhone XR, iPhone 11) - Named "Default-1792h@2x.png"
- 1242x2688 pixels (iPhone XS Max, iPhone 11 Pro Max) - Named "Default-2688h@3x.png"
- Note: It's important to include both portrait and landscape versions of the Launch Images for iPad support.
Remember to provide the correct image sizes and names for each variation to ensure that the appropriate Launch Image is displayed based on the device type, screen size, and orientation.
What are the steps involved releasing, and publishing your app on the App Store?
The process of releasing and publishing your app on the App Store typically involves the following steps:
App Store Connect: Sign in to App Store Connect, Apple's platform for managing app submissions. Provide necessary details about your app, such as its name, description, pricing, and category.
App Submission: Upload your app binary (compiled code) to App Store Connect. Fill in all the required information, including metadata, screenshots, and app previews.
App Review: Apple's App Review team will assess your app for quality, functionality, and compliance with guidelines. This process may take several days.
Release: Once your app passes the review process, you can choose to release it immediately or schedule a specific release date. You have the option to release it globally or in specific countries.
App Updates: Continuously monitor user feedback and make improvements to your app. Regularly release updates with bug fixes, feature enhancements, and performance optimizations.
It's important to note that the above steps provide a general overview, and the specific details may vary depending on the complexity of your app and the specific requirements of the App Store. Additionally, it's essential to familiarize yourself with Apple's App Store Review Guidelines to ensure your app complies with their policies and standards.
How to build a release xcode and upload binary file to apple?
Error Finding App Store Connect Credentials
Distribution stops with this erros
Invalid Pre-Release Train. The train version '1.0.0' is closed for new build submissions (ID: 20e586f0-76dc-4188-b3e1-52e7b1e8b564)
This bundle is invalid. The value for key CFBundleShortVersionString [1.0.0] in the Info.plist file must contain a higher version than that of the previously approved version [1.0.0]. Please find more information about CFBundleShortVersionString at https://developer.apple.com/documentation/bundleresources/information_property_list/cfbundleshortversionstring (ID: 4337745c-620c-411f-af8d-df91284fde31)
vim pubspec.yaml
Versions are from Pubspec.yaml is not working
Screenshot specifications
6.7" Display
iPhone 14 Pro Max
2796 x 1290 pixels
1290 x 2796 pixels
6.5" Display
1284 x 2778 pixels
Unable to Add for Review
The items below are required to start the review process:- You must upload a screenshot for 12.9-inch iPad Pro (2nd generation) displays.
- You must upload a screenshot for 12.9-inch iPad Pro (6th generation) displays.
- You must upload a screenshot for 5.5-inch iPhone displays.
- You must upload a screenshot for 12.9-inch iPad Pro (2nd generation) displays.
- You must upload a screenshot for 12.9-inch iPad Pro (6th generation) displays.
- You must upload a screenshot for 5.5-inch iPhone displays.
There are still screenshot uploads in progress.
During peak times or periods of high server load, it might take longer for the screenshots to process. Additionally, the number of screenshots being uploaded and the size of the screenshots can also affect the processing time. If you have uploaded a large number of screenshots or if the screenshots are high-resolution, it may take longer for them to be processed.
It's important to note that the processing time is controlled by Apple's servers, and there isn't a fixed timeframe for how long it will take. If you're experiencing a significant delay or if the message persists for an extended period, it may be worth reaching out to Apple Developer Support for further assistance.
Routing App Coverage File
http://geojson.io/#map=2/0/20Submit for review
Promote your app in app store
Links to documentation
https://developer.apple.com/app-store/promote/
https://searchads.apple.com/
Important Update: Submit Your App to the App Store Team at appstore.com/promote.
https://developer.apple.com/contact/app-store/promote/
Create more custom product pages with Conversion for app install.
Create search ads
https://app.searchads.apple.com/cm/app/signup
Promoting your app in the App Store is crucial for increasing its visibility and attracting users. Here are some effective strategies to promote your app:
1. App Store Optimization (ASO): Optimize your app's metadata, including the title, keywords, and description, to improve its search visibility within the App Store. Conduct keyword research to understand what users are searching for and incorporate relevant keywords in your app's metadata.
2. Engaging App Icon and Screenshots: Design an eye-catching and visually appealing app icon that represents your app's brand and purpose effectively. Create compelling screenshots that showcase your app's key features and benefits. These visual elements can significantly impact the first impression users have of your app.
3. Positive Ratings and Reviews: Encourage users to rate and review your app by implementing in-app prompts or reminders. Positive reviews and high ratings can boost your app's credibility and attract more users. Respond to user feedback, both positive and negative, to demonstrate your commitment to improving your app.
4. App Previews and Videos: Utilize app previews or videos to provide a preview of your app's functionalities and user experience. Showcasing your app in action can be compelling and help users understand its value before they decide to download it.
5. Promotional Campaigns: Develop a marketing strategy to create awareness and generate buzz around your app. Leverage social media platforms, your website, and other marketing channels to promote your app. Consider using targeted ads to reach your desired audience.
6. App Store Featuring: Aim to get your app featured in the App Store's curated lists or categories. To increase your chances of being featured, focus on delivering a unique and high-quality app that aligns with current trends or events. Keep an eye on the App Store guidelines for featured apps and submit your app for consideration when applicable.
7. Influencer Collaborations: Collaborate with relevant influencers or bloggers in your app's niche to help promote your app. Their recommendations and reviews can reach a wider audience and generate interest in your app.
8. Continuous Updates and Bug Fixes: Regularly update your app with new features, improvements, and bug fixes. App Store algorithms tend to favor apps that are actively maintained and regularly updated.
Remember that promoting your app is an ongoing process, and it's important to analyze the effectiveness of your promotional efforts using analytics tools. Continuously refine your strategies based on user feedback and data to optimize the promotion of your app in the App Store.
Comments
Post a Comment