Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ipa upload errors #4831

Closed
1 task done
yoberner opened this issue Feb 5, 2025 · 24 comments
Closed
1 task done

ipa upload errors #4831

yoberner opened this issue Feb 5, 2025 · 24 comments
Assignees
Labels
bug Something isn't working packaging Related to app packaging platform: ios Specific related to iOS

Comments

@yoberner
Copy link

yoberner commented Feb 5, 2025

Discussed in #4830

Originally posted by yoberner February 5, 2025

Question

Hi all,
I have been getting errors every time I try uploading my .ipa build file to Transporter. I can't seem to figure out what the issue is.
Here are the 2 errors:

Asset validation failed (90035)
Invalid Signature. Code object is not signed at all. The file at path “Runner.app/Frameworks/serious_python_darwin.framework/python-stdlib/ctypes/macholib/fetch_macholib” is not properly signed. Make sure you have signed your application with a distribution certificate, not an ad hoc certificate or a development certificate. Verify that the code signing settings in Xcode are correct at the target level (which override any values at the project level). Additionally, make sure the bundle you are uploading was built using a Release target in Xcode, not a Simulator target. If you are certain your code signing settings are correct, choose “Clean All” in Xcode, delete the “build” directory in the Finder, and rebuild your release target. For more information, please consult https://developer.apple.com/support/code-signing. (ID: 38b1e636-0b6f-4379-b746-876495b9ebd4)

Asset validation failed (90208)
Invalid Bundle. The bundle Runner.app/Frameworks/_asyncio.framework does not support the minimum OS Version specified in the Info.plist. (ID: 8b380f23-d42a-4b59-bfec-d39f6fe4604e)

And for reference here is my project.toml:

[project]
name = "XYZ"
version = "1.0.0"
description = "XYZ App"
authors = [{ name = "John Doe", email = "[email protected]" }]
dependencies = ["flet"]

[tool.flet]
project = "XYZ"
description = "XYZ App"
product = "XYZ"
org = "com.Company"
company = "Company LLC"
copyright = "© 2025 Company LLC"

compile.app = true      # --compile-app
compile.packages = true # --compile-packages
compile.cleanup = true  # --cleanup-on-compile

build_number = 1        #! --build-number
build_version = "1.0.0" # --build-version
app.module = "main"     # --module-name

icon.default = "assets/icon.png"

team = "abc123"

[tool.flet.ios]
team = "abc123"

I have uploaded other Apps successful to App Store Connect from xcode on this machine so I know that the auto signing does work correctly. Therefore Im not sure what the error is referring to.
Also, is the app supposed to be renamed to "Runner" by flet?

Flet version: 0.26.0
Flutter version: 3.27.3 • channel stable
Python: 3.12.8
MacOS M3 15.2

Thanks for your help!

Code sample

No response

Error message

Asset validation failed (90035)
Invalid Signature. Code object is not signed at all. The file at path “Runner.app/Frameworks/serious_python_darwin.framework/python-stdlib/ctypes/macholib/fetch_macholib” is not properly signed. Make sure you have signed your application with a distribution certificate, not an ad hoc certificate or a development certificate. Verify that the code signing settings in Xcode are correct at the target level (which override any values at the project level). Additionally, make sure the bundle you are uploading was built using a Release target in Xcode, not a Simulator target. If you are certain your code signing settings are correct, choose “Clean All” in Xcode, delete the “build” directory in the Finder, and rebuild your release target. For more information, please consult https://developer.apple.com/support/code-signing. (ID: 38b1e636-0b6f-4379-b746-876495b9ebd4)

Asset validation failed (90208)
Invalid Bundle. The bundle Runner.app/Frameworks/_asyncio.framework does not support the minimum OS Version specified in the Info.plist. (ID: 8b380f23-d42a-4b59-bfec-d39f6fe4604e)

------------------------------------------------------

@FeodorFitsner
Copy link
Contributor

Thanks for reporting, I'm going to look into that.

@FeodorFitsner FeodorFitsner self-assigned this Feb 5, 2025
@ndonkoHenri ndonkoHenri added packaging Related to app packaging platform: ios Specific related to iOS labels Feb 5, 2025
@FeodorFitsner
Copy link
Contributor

OK, I've fixed minimum OS version for frameworks and removed fetch_macholib from iOS bootstrap distributive.

I created a copy of build template for you to test.

Before re-building the app please clean Flutter pub cache:

dart pub cache clean -f

or just delete $HOME/.pub-cache directory.

Re-build your app with the following command:

flet build ipa --template-ref 0.26.0-ios-fix --team XXX -v

Let me know.

@yoberner
Copy link
Author

yoberner commented Feb 6, 2025

Seems to have fixed the version issue, however for some reason still getting the signing error, although a slightly different error code:

Validation failed (409)
Invalid Signature. Code object is not signed at all. The file at path “Runner.app/Frameworks/serious_python_darwin.framework/site-packages/flet-0.26.0.dist-info/METADATA” is not properly signed. Make sure you have signed your application with a distribution certificate, not an ad hoc certificate or a development certificate. Verify that the code signing settings in Xcode are correct at the target level (which override any values at the project level). Additionally, make sure the bundle you are uploading was built using a Release target in Xcode, not a Simulator target. If you are certain your code signing settings are correct, choose “Clean All” in Xcode, delete the “build” directory in the Finder, and rebuild your release target. For more information, please consult https://developer.apple.com/support/code-signing. (ID: f964d441-3a1f-45ab-8bd4-94f8ec65b1cc)

I cleaned the Xcode build/cache, and from the verbose output everything looks correct. I also just tried archiving and uploading another sample application to App Store connect and it seems to work without any signing errors, so I am not sure why this isn't working.
Thanks again.

@FeodorFitsner
Copy link
Contributor

Hm, can you drop me a log from flet build command please?

@yoberner
Copy link
Author

yoberner commented Feb 6, 2025

% flet build ipa --template-ref 0.26.0-ios-fix --team [Redacted] -v
[19:09:57] Run subprocess: ['/Users/development/flutter/bin/flutter', '--version', '--no-version-check', '--suppress-analytics']                        
[19:09:58] Flutter executable: /Users/development/flutter/bin/flutter                                                                                   
           Dart executable: /Users/development/flutter/bin/dart                                                                                         
           Custom Flutter dependencies: {}                                                                                                                            
[19:09:59] Created Flutter bootstrap project from gh:flet-dev/flet-build-template with ref "0.26.0-ios-fix" ✅                                                        
           Run subprocess: ['/Users/development/flutter/bin/dart', 'run', '--suppress-analytics', 'serious_python:main', 'package',                     
           '/Users/mygit/TripCalc/TripCalc_App', '--platform', 'iOS', '--requirements', 'flet', '--exclude', 'build', '--compile-app',                  
           '--compile-packages', '--cleanup']                                                                                                                         
[19:10:04] Running package command                                                                                                                                    
           Extra PyPi indexes:                                                                                                                                        
           Created temp directory: /var/folders/_1/tlftwpg93n90rp9rf4bzgh640000gn/T/serious_python_tempgDFnDC                                                         
           Copying Python app from /Users/mygit/TripCalc/TripCalc_App to a temp directory                                                               
           Compiling Python sources in a temp directory                                                                                                               
           Cleanup app                                                                                                                                                
           Configured iOS/iphoneos.arm64 platform with sitecustomize.py                                                                                               
           Installing  with pip command to /Users/mygit/TripCalc/TripCalc_App/build/site-packages/iphoneos.arm64                                        
[19:10:06] Compiling app packages at /Users/mygit/TripCalc/TripCalc_App/build/site-packages/iphoneos.arm64                                              
[19:10:07] Cleanup installed packages                                                                                                                                 
           Configured iOS/iphonesimulator.arm64 platform with sitecustomize.py                                                                                        
           Installing  with pip command to /Users/mygit/TripCalc/TripCalc_App/build/site-packages/iphonesimulator.arm64                                 
[19:10:08] Compiling app packages at /Users/mygit/TripCalc/TripCalc_App/build/site-packages/iphonesimulator.arm64                                       
[19:10:09] Cleanup installed packages                                                                                                                                 
           Configured iOS/iphonesimulator.x86_64 platform with sitecustomize.py                                                                                       
           Installing  with pip command to /Users/mygit/TripCalc/TripCalc_App/build/site-packages/iphonesimulator.x86_64                                
[19:10:11] Compiling app packages at /Users/mygit/TripCalc/TripCalc_App/build/site-packages/iphonesimulator.x86_64                                      
           Cleanup installed packages                                                                                                                                 
           Creating app archive at /Users/mygit/TripCalc/TripCalc_App/build/flutter/app/app.zip from a temp directory                                   
[19:10:12] Writing app archive hash to /Users/mygit/TripCalc/TripCalc_App/build/flutter/app/app.zip.hash                                                
           Deleting temp directory                                                                                                                                    
           Packaged Python app ✅                                                                                                                                     
           Copying /Users/mygit/TripCalc/TripCalc_App/assets/icon.png to /Users/mygit/TripCalc/TripCalc_App/build/flutter/images          
           Customized app icons and splash images ✅                                                                                                                  
           Run subprocess: ['/Users/development/flutter/bin/dart', 'run', '--suppress-analytics', 'flutter_launcher_icons']                             
[19:10:13]   ════════════════════════════════════════════                                                                                                             
                FLUTTER LAUNCHER ICONS (v0.14.3)                                                                                                                      
             ════════════════════════════════════════════                                                                                                             
                                                                                                                                                                      
           • Creating default icons Android                                                                                                                           
           • Overwriting the default Android launcher icon with a new icon                                                                                            
           • Creating adaptive icons Android                                                                                                                          
           • Updating colors.xml with color for adaptive icon background                                                                                              
           • Creating mipmap xml file Android                                                                                                                         
           • Overwriting default iOS launcher icon with new icon                                                                                                      
           Creating Icons for Web...                                                                                                                                  
[19:10:14] Creating Icons for Windows...                                                                                                                              
           Creating Icons for MacOS...                                                                                                                                
                                                                                                                                                                      
           ✓ Successfully generated launcher icons                                                                                                                    
           Generated app icons ✅                                                                                                                                     
           Run subprocess: ['/Users/development/flutter/bin/dart', 'run', '--suppress-analytics', 'flutter_native_splash:create']                       
[19:10:15] [Android] Creating default splash images                                                                                                                   
           [Android] Creating dark mode splash images                                                                                                                 
           [Android] Creating default android12splash images                                                                                                          
           [Android] Creating dark mode android12splash images                                                                                                        
           [Android] Updating launch background(s) with splash image path...                                                                                          
           [Android]  - android/app/src/main/res/drawable/launch_background.xml                                                                                       
[19:10:16] [Android]  - android/app/src/main/res/drawable-night/launch_background.xml                                                                                 
           [Android]  - android/app/src/main/res/drawable-v21/launch_background.xml                                                                                   
           [Android]  - android/app/src/main/res/drawable-night-v21/launch_background.xml                                                                             
           [Android] Updating styles...                                                                                                                               
           [Android]  - android/app/src/main/res/values-v31/styles.xml                                                                                                
           [Android]  - android/app/src/main/res/values-night-v31/styles.xml                                                                                          
           [Android]  - android/app/src/main/res/values/styles.xml                                                                                                    
           [Android]  - android/app/src/main/res/values-night/styles.xml                                                                                              
            Creating  images                                                                                                                                          
            Creating dark mode  images                                                                                                                                
            Updating ios/Runner/Info.plist for status bar hidden/visible                                                                                              
           [Web] Creating images                                                                                                                                      
           [Web] Creating images                                                                                                                                      
           [Web] Creating background images                                                                                                                           
           [Web] Creating CSS                                                                                                                                         
           [Web] Updating index.html                                                                                                                                  
                                                                                                                                                                      
           ✅ Native splash complete.                                                                                                                                 
           Now go finish building something awesome! 💪 You rock! 🤘🤩                                                                                                
           Like the package? Please give it a 👍 here: https://pub.dev/packages/flutter_native_splash                                                                 
                                                                                                                                                                      
           Generated splash screens ✅                                                                                                                                
           Run subprocess: ['/Users/development/flutter/bin/flutter', 'build', 'ipa', '--no-version-check', '--suppress-analytics', '--build-number',   
           '1', '--build-name', '1.0.0']                                                                                                                              
[19:10:20]                                                                                                                                                            
[19:10:21] Archiving com.BernerTech.tripcalcapp...                                                                                                                    
           Upgrading AppFrameworkInfo.plist                                                                                                                           
           Upgrading Podfile                                                                                                                                          
           Updating project for Xcode compatibility.                                                                                                                  
           Upgrading project.pbxproj                                                                                                                                  
           Upgrading Runner.xcscheme                                                                                                                                  
           .gitignore does not ignore Swift Package Manager build directories, updating.                                                                              
[19:10:24] Automatically signing iOS for device deployment using specified development team in Xcode project: [Redacted]                                              
[19:10:29] Running pod install...                                           2,968ms                                                                                   
[19:11:36] Running Xcode build...                                                                                                                                     
           Xcode archive done.                                         66.7s                                                                                          
           ✓ Built build/ios/archive/Runner.xcarchive (275.2MB)                                                                                                       
                                                                                                                                                                      
           [✓] App Settings Validation                                                                                                                                
               • Version Number: 1.0.0                                                                                                                                
               • Build Number: 1                                                                                                                                      
               • Display Name: TripCalcApp                                                                                                                            
               • Deployment Target: 13.0                                                                                                                              
               • Bundle Identifier: com.BernerTech.tripcalcapp                                                                                                        
                                                                                                                                                                      
           To update the settings, please refer to https://flutter.dev/to/ios-deploy                                                                                  
                                                                                                                                                                      
[19:12:41] Building App Store IPA...                                          64.6s                                                                                   
           ✓ Built IPA to build/ios/ipa (48.1MB)                                                                                                                      
           To upload to the App Store either:                                                                                                                         
               1. Drag and drop the "build/ios/ipa/*.ipa" bundle into the Apple Transporter macOS app https://apps.apple.com/us/app/transporter/id1450874784          
               2. Run "xcrun altool --upload-app --type ios -f build/ios/ipa/*.ipa --apiKey your_api_key --apiIssuer your_issuer_id".                                 
                  See "man altool" for details about how to authenticate with the App Store Connect API key.                                                          
           Built .ipa bundle for iOS ✅                                                                                                                               
           Copying build output from: /Users/mygit/TripCalc/TripCalc_App/build/flutter/build/ios/archive/*                                              
           Copying build output from: /Users/mygit/TripCalc/TripCalc_App/build/flutter/build/ios/ipa/*                                                  
[19:12:42] Copied build to build/ipa directory ✅                                                                                                                     
╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Successfully built your .ipa bundle for iOS! 🥳 Find it in build/ipa directory. 📁                                                                                 │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
% 

@yoberner
Copy link
Author

yoberner commented Feb 6, 2025

Also, I went into the flutter/ios folder and opened the xcode workspace to try it there. Xcode is showing everything as signed and I was even able to build and run the application locally on my iPhone, but when I went to Product > archive to upload it that way, it gave me the same signing error. Not sure whats up with it.

@FeodorFitsner
Copy link
Contributor

That's interesting. Could you check the contents of .ipa file to see what files are signed:

How to See the List of Signed Files Inside an .ipa File

  • Extract the .ipa File

    • An .ipa file is essentially a ZIP archive. You can extract it using:
      unzip MyApp.ipa -d MyApp
  • Locate the Signed Files

    • The signed files are inside the Payload/ folder in the extracted contents:
      cd MyApp/Payload/MyApp.app/
  • Use codesign to Inspect the Signature

    • Run the following command:
      codesign -d --verbose=5 MyApp.app
    • This will display details about the app's code signature, including the list of signed files.
  • Use codesign -vvv to Check Individual File Integrity

    • You can check which files are explicitly signed with:
      codesign -vvv --deep --strict MyApp.app
    • This will list out files that are signed and check their integrity.
  • View the Code Resources File

    • The actual list of signed files is stored in a CodeResources file inside the MyApp.app/_CodeSignature/ directory.
    • You can view it with:
      cat _CodeSignature/CodeResources
    • Or for better readability:
      plutil -p _CodeSignature/CodeResources
    • This file contains a list of all signed files along with their hashes.

@yoberner
Copy link
Author

yoberner commented Feb 6, 2025

I may have found the issue. It seems it is indeed being fully signed using the same ID as my teamid var, this is also the ID to my "Apple Distribution Certificate" as I see in my keychain. However, when looking in xcode, the Autosign in xcode seems to have picked my "Apple Development Certificate" which has a different ID, even though the correct team in xcode is selected.
This is the case for my other application that worked, but may be causing the problem here.
Do you think this is/could be the issue?
Any idea how to change which certificate the Xcode Autosign chooses? Disabling the autosign and manually doing it seems to be more complicated...

@FeodorFitsner
Copy link
Contributor

FeodorFitsner commented Feb 6, 2025

I'd compare the contents of build/flutter/ios folder to see what's being changed in XCode project when you update it from within XCode.

Do flet build ipa ..., copy the contents of build/flutter/ios folder to say build/flutter/ios_1, open the project in XCode, fix certificate/signing, build with flutter build ipa (note flutter build, not flet build) (or XCode - I would do both experiments to see if CLI can successfully build fixed project) and, finally, compare build/flutter/ios_1 and ``build/flutter/ios`.

Let me know.

@yoberner
Copy link
Author

yoberner commented Feb 6, 2025

On second thought, i'm not sure if that is the issue, because it seems to be signed correctly in the terminal:

% codesign -d --verbose=5 Runner                       
Executable=/Users/mygit/TripCalc/TripCalc_App/build/ipa/tripcalcapp/Payload/Runner.app/Runner
Identifier=com.BernerTech.tripcalcapp
Format=app bundle with Mach-O thin (arm64)
CodeDirectory v=20400 size=1086 flags=0x0(none) hashes=23+7 location=embedded
VersionPlatform=2
VersionMin=851968
VersionSDK=1180160
Hash type=sha256 size=32
CandidateCDHash sha256=7344a591ab878e8e3661f120c391032b2fe4120b
CandidateCDHashFull sha256=7344a591ab878e8e3661f120c391032b2fe4120bd7a34a9c25e8dcb6253d0415
Hash choices=sha256
CMSDigest=7344a591ab878e8e3661f120c391032b2fe4120bd7a34a9c25e8dcb6253d0415
CMSDigestType=2
Executable Segment base=0
Executable Segment limit=49152
Executable Segment flags=0x1
Page size=4096
    -7=dde9d09e55114a2dc806a439aed3e73e2b3e6eec48fdf6ec4c3f8674e7532568
    -6=0000000000000000000000000000000000000000000000000000000000000000
    -5=aef841b4bc9254168b3f5d08aa6b25b3f810658836d2ffb3e994a1dcd60f5df2
    -4=0000000000000000000000000000000000000000000000000000000000000000
    -3=ce109fa9309087c60bd9107b9f184e860b2d89c6ea142331b6bb48524ef3087b
    -2=952870fb34e971f7915662b1f7b4ffdfde93daebef74fa8b89d5c23972a57950
CDHash=7344a591ab878e8e3661f120c391032b2fe4120b
Signature size=4788
Authority=Apple Distribution: [Redacted]
Authority=Apple Worldwide Developer Relations Certification Authority
Authority=Apple Root CA
Signed Time=Feb 5, 2025 at 7:12:36 PM
Info.plist entries=34
TeamIdentifier=[Redacted]
Sealed Resources version=2 rules=10 files=1515
Internal requirements count=1 size=192

% codesign -vvv --deep --strict Runner
Runner: valid on disk
Runner: satisfies its Designated Requirement

@yoberner
Copy link
Author

yoberner commented Feb 6, 2025

Ok I think I understand the bug. Upon further investigation, I compared the output details (from the terminal) of the codesign from both my other application that is working and this flet app as well.
The native xcode application uses one certificateID for for the "TeamIdentifier" and a different certificateID for the "Authority" (the signatureID).
It seems flet uses the --teamID for both the "TeamIdentifier" and the "Authority" ID.
Is there a parameter or flag to be able to differentiate between the two, when building. Or to let xcode autosign handle it. It seems flet is overriding the signature xcode wants to use and that is causing the issue.
Or is there a way to manually set the ios signing cert with flutter / flet?
I think that would fix the issue.

Thanks!

@FeodorFitsner
Copy link
Contributor

FeodorFitsner commented Feb 6, 2025

How did you find out what should be fixed? flet build uses https://github.com/flet-dev/flet-build-template/tree/main/%7B%7Bcookiecutter.out_dir%7D%7D as a template with Team ID put here and there (example). If you can spot the issue with the template we'd be able to fix it then and help others :)

@yoberner
Copy link
Author

yoberner commented Feb 6, 2025

I dont know fore sure what the issue is, and I am not sure how to test it to fix it. My best guess is something to do with the codesign signature authority. Maybe if there is a way to have an optional flag to set it manually.
I think this is the issue because of the discrepancy in the metadata between a native xcode application vs one generated by flet:
Both have the same TeamIdentifier= but different Authority= values in the metadata (as can be seen above). So if there is a seperate flag for teamid and one for codesign or something, I think that may be able to fix the issue.

@FeodorFitsner
Copy link
Contributor

FeodorFitsner commented Feb 7, 2025

discrepancy in the metadata between a native xcode application vs one generated by flet

that's why I ask you to compare ios folder generated by Flet and the one that worked, if you can? ;)

@yoberner
Copy link
Author

yoberner commented Feb 7, 2025

The one that worked was not a flet or flutter project though. It was just a native xcode application. Regarding this project, I opened in Xcode and it builds and runs, just does not upload because of the signing certificate issue. I didn't change anything in Xcode, I just opened it to confirm the certificates are being automatically signed by xcode. But did not change anything. The one I was comparing it to that worked was just a sample hello world native xcode app.

@FeodorFitsner
Copy link
Contributor

OK, I'll play with my own app to see what's going on. Thanks for your time anyway.

@yoberner
Copy link
Author

yoberner commented Feb 7, 2025

Thank you!
Please let me know if there is anything else I could do to help debug. I would love to help fix this so I can upload the app :).

@danger-ahead
Copy link

facing the same issue in https://github.com/flet-dev/serious-python

Invalid Signature - Code object is not signed at all. The file at path “Runner.app/Frameworks/serious_python_darwin.framework/python-stdlib/ctypes/macholib/fetch_macholib” is not properly signed. Make sure you have signed your application with a distribution certificate, not an ad hoc certificate or a development certificate. Verify that the code signing settings in Xcode are correct at the target level (which override any values at the project level). Additionally, make sure the bundle you are uploading was built using a Release target in Xcode, not a Simulator target. If you are certain your code signing settings are correct, choose “Clean All” in Xcode, delete the “build”

@FeodorFitsner
Copy link
Contributor

Re: serious-python - it downloads the same Python build bundle from here: https://github.com/flet-dev/python-build/releases which does not contain fetch_macholib anymore.

Cleanuo pub cache, so Python distro is re-downloaded next time:

dart pub cache clean -f

@FeodorFitsner FeodorFitsner added the bug Something isn't working label Feb 9, 2025
@yoberner
Copy link
Author

yoberner commented Feb 11, 2025

@FeodorFitsner if it helps with debugging at all; I made another admin user on my Apple Developer Account, created a new fresh user on my computer, cloned my project and all the configs, and tried uploading the ipa with a fresh xcode, certificate, user, and everything and still got the same 409 error (not signed at all). It seems the issue is for sure the way flet build ipa is signing the app. Tried debugging more and out of ideas. Not sure how to upload and get my .ipa to my Apple Store Connect.
Thanks.

@FeodorFitsner
Copy link
Contributor

No worries, I've been able to reproduce the error and are currently working on the fix(es).

@ndonkoHenri ndonkoHenri moved this from 🆕 New to 🏗 In progress in Flet Development Feb 11, 2025
@FeodorFitsner
Copy link
Contributor

UPDATE: I've made a great progress on improvement and bugfixing of packaging and signing iOS bundles!

My sample iOS app with flet, numpy, pandas, matplotlib and pydantic-core packages inside (.ipa total is 67 MB!) and signed with distribution certificate and ad-hoc profile has finally passed verification in App Store Connect! 😂

Image

I'm working on Flet 0.27 release having these changes.

@yoberner
Copy link
Author

Amazing! Thanks!
Very much looking forward.

@ndonkoHenri ndonkoHenri moved this from 🏗 In progress to 🔖 Ready in Flet Development Feb 20, 2025
@ndonkoHenri ndonkoHenri moved this from 🔖 Ready to 🏗 In progress in Flet Development Feb 20, 2025
@ndonkoHenri
Copy link
Contributor

Flet 0.27.0 is out and updated iOS packaging docs published: https://flet.dev/docs/publish/ios

Give it a try and share feedback.

@github-project-automation github-project-automation bot moved this from 🏗 In progress to ✅ Done in Flet Development Feb 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working packaging Related to app packaging platform: ios Specific related to iOS
Projects
Status: ✅ Done
Development

No branches or pull requests

4 participants