Share via

Which settings should I use in my iOS project when I want to submit it for Apple App Store review?

Kim Strasser 2,366 Reputation points
2026-03-29T11:50:55.2233333+00:00

I don´t know if I use the correct settings in my iOS project when I want to submit my game for Apple App Store review. Currently, I´m only using TestFlight.

Can I submit my game for Apple App Store review with the following .csproj file or is it necessary to change something in the .csproj file or Visual Studio project settings?

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net10.0-ios</TargetFramework>
    <OutputType>Exe</OutputType>
    <SupportedOSPlatformVersion>15.0</SupportedOSPlatformVersion>
    <ApplicationVersion>1.0</ApplicationVersion>
    <ApplicationDisplayVersion>1.0</ApplicationDisplayVersion>
    <ProvisioningType>manual</ProvisioningType>
    <CodesignKey>iPhone Distribution</CodesignKey>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
    <UseInterpreter>true</UseInterpreter>
    <MtouchLink>None</MtouchLink>
    <MtouchUseLlvm>False</MtouchUseLlvm>
    <MtouchNoSymbolStrip>False</MtouchNoSymbolStrip>
    <EnableSGenConc>False</EnableSGenConc>
    <OptimizePNGs>True</OptimizePNGs>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
    <UseInterpreter>true</UseInterpreter>
    <NoSymbolStrip>true</NoSymbolStrip>
    <MtouchLink>None</MtouchLink>
    <MtouchUseLlvm>False</MtouchUseLlvm>
    <MtouchNoSymbolStrip>False</MtouchNoSymbolStrip>
    <EnableSGenConc>False</EnableSGenConc>
    <OptimizePNGs>True</OptimizePNGs>
  </PropertyGroup>
  <ItemGroup>
  <None Remove="Default.png" />
    <None Remove="GoogleService-Info.plist" />
    <None Remove="Launchscreenlogo.png" />
  </ItemGroup>
  <ItemGroup>
    <BundleResource Include="Default.png" />
    <BundleResource Include="GoogleService-Info.plist" />
    <BundleResource Include="Launchscreenlogo.png" />
  </ItemGroup>
  <ItemGroup>
    <PackageReference Include="CommunityToolkit.Mvvm" Version="8.4.2" />
    <PackageReference Include="Microsoft.Maui.Controls" Version="10.0.51" />
    <PackageReference Include="Microsoft.Maui.Core" Version="10.0.51" />
    <PackageReference Include="Microsoft.Maui.Essentials" Version="10.0.51" />
    <PackageReference Include="MonoGame.Content.Builder.Task" Version="3.8.4.1" />
    <PackageReference Include="MonoGame.Framework.iOS" Version="3.8.4.1" />
    <PackageReference Include="Newtonsoft.Json" Version="13.0.4" />
    <PackageReference Include="PlayFabAllSDK" Version="1.220.260313" />
    <PackageReference Include="Plugin.InAppBilling" Version="10.0.0" />
    <PackageReference Include="Plugin.MediaManager" Version="1.2.2" />
  </ItemGroup>
  <Target Name="RestoreDotnetTools" BeforeTargets="Restore">
    <Message Text="Restoring dotnet tools" Importance="High" />
    <Exec Command="dotnet tool restore" />
  </Target>
  <Import Project="..\FarseerPhysicsCode\FarseerPhysicsCode.projitems" Label="Shared" />
  <Import Project="..\FarseerPhysicsDebug\FarseerPhysicsDebug.projitems" Label="Shared" />
  <Import Project="..\SharedCode\SharedCode.projitems" Label="Shared" />
</Project>
Developer technologies | .NET | .NET MAUI
0 comments No comments

Answer accepted by question author
  1. Nancy Vo (WICLOUD CORPORATION) 1,985 Reputation points Microsoft External Staff Moderator
    2026-03-30T04:22:55.43+00:00

    Hi @Kim Strasser ,

    Thanks for your question. Your current settings are mostly fine for Apple App Store review. You can submit with this file. I suggest making these small changes:

    • Increase <ApplicationVersion> and <ApplicationDisplayVersion> every time before uploading.
    • In the Release section, change <MtouchLink>None</MtouchLink> to <MtouchLink>SdkOnly</MtouchLink>. This makes the app smaller and is recommended for store submission.
    • Starting late April 2026, Apple requires apps to be built with Xcode 26 and the iOS 26 SDK. Make sure you're using the latest Xcode on your Mac

    While this is a non-Microsoft link, it’s official apple developer documentation and is safe to visit.

    • With release build settings: double-check you’re producing an Archive (Release) build for submission from Visual Studio.
    • Build the .ipa file for App Store with this command:
    dotnet publish -f net10.0-ios -c Release -r ios-arm64
    

    Then use Visual Studio or Xcode to archive and upload to App Store Connect. Upload first to TestFlight again to verify everything, then submit for review.

    Base on Publish an iOS app for App Store distribution.

    I hope this addresses your question. If this response was helpful, please consider following the guidance to provide feedback.

    1 person found this answer helpful.

1 additional answer

Sort by: Most helpful
  1. Q&A Assist
    2026-03-29T11:51:10.0433333+00:00
    AI generated content. This question contains an answer created with AI from Q&A Assist. Learn more

    For App Store submission, the critical requirement is that the Release build is properly signed with a distribution certificate and App Store provisioning profile, and that the bundle identifier and versioning are correct. The .csproj must provide or allow these settings; the rest of the properties are mostly about build behavior and optimization.

    From the provided .csproj:

    1. Versioning and target
      • TargetFramework>net10.0-ios</TargetFramework>: Targets .NET 10 for iOS, which is valid for a modern .NET for iOS app.
      • SupportedOSPlatformVersion>15.0</SupportedOSPlatformVersion>: Sets minimum iOS version; acceptable as long as it matches the app’s intended support.
      • ApplicationVersion>1.0</ApplicationVersion> and ApplicationDisplayVersion>1.0</ApplicationDisplayVersion>: Provide the internal build version and user-visible version. These are the properties used for versioning and are appropriate for App Store submission.
    2. Code signing and provisioning
      • ProvisioningType>manual and CodesignKey>iPhone Distribution</CodesignKey>: Indicate manual signing with a distribution certificate. For App Store submission, the project must be signed with the correct Apple Distribution certificate and App Store provisioning profile.
      • In .NET MAUI/iOS, these signing settings can also be supplied via a conditional PropertyGroup for Release builds, for example:
             <PropertyGroup Condition="$(TargetFramework.Contains('-ios')) and '$(Configuration)' == 'Release'">
               <CodesignKey>Apple Distribution: John Smith (AY2GDE9QM7)</CodesignKey>
               <CodesignProvision>MyMauiApp</CodesignProvision>
               <ArchiveOnBuild>true</ArchiveOnBuild>
             </PropertyGroup>
        
        This pattern ensures that the correct signing configuration is applied only for iOS Release builds and that an archive (.ipa) is produced for submission.
    3. Recommended adjustments for App Store submission
      • Add a Release-specific PropertyGroup for iOS that:
        • Sets ArchiveOnBuild to true so an archive is produced.
        • Sets CodesignKey to the full name of the Apple Distribution certificate.
        • Sets CodesignProvision to the App Store provisioning profile name that matches the app’s bundle identifier.
      • Ensure the Application ID/bundle identifier in the project (and Info.plist if applicable) matches the app record in App Store Connect; Visual Studio uses this to select the correct provisioning profile when archiving.
    4. Using Visual Studio to publish
      • After configuring signing and provisioning, use Visual Studio’s Publish workflow for iOS:
        • Right-click the .NET MAUI app project → Publish... to open Archive Manager.
        • Build an archive in Release configuration; Visual Studio signs the app with the certificate and provisioning profile configured for that configuration.
        • In Archive Manager, choose Distribute...App Store, then select the appropriate signing identity and provisioning profile in the Distribute - Signing Identity dialog.

    With these adjustments (primarily adding a Release/iOS PropertyGroup that specifies ArchiveOnBuild, CodesignKey, and CodesignProvision, and ensuring the bundle identifier and versioning are correct), the project is suitable for App Store submission. The other build properties in the Debug/Release groups do not prevent App Store review as long as the Release build is correctly signed and archived.


    References:

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.