zkmopro / mopro

Making client-side proving on mobile simple.
https://zkmopro.org
Apache License 2.0
131 stars 35 forks source link

Feat/example dylib 4 #106

Closed oskarth closed 5 months ago

oskarth commented 8 months ago

Most dylib work has been merged already, see recent commits, cli/build_ios script, and example app.

With this config and mopro build --platforms=ios:

1) dylib is included in a separate XCFramework 2) Circuit dylib is copied into app bundle as part of build process 3) Example works on real device detached from cable

Leaving as draft because I want to make sure integration works well for both dylib and non-dylib case. Might require user to manually add XCFramework in Xcode.

Screenshot 2024-03-12 at 16 10 38

I have not been able to test submitting to app store (Product -> Archive -> Validate/Upload) as I don't have a valid Apple Developer account, and won't be able to set it up properly quickly.

If someone can try it out and verify that it works that'd be much appreciated!

This PR replaces and improves on:

(Note that there might be some minor regressions for non-dylib case from previous commits due to cache etc.)

oskarth commented 8 months ago

Update: doesn't work for actual app store upload due to:

ITMS-90426: Invalid Swift Support - The SwiftSupport folder is missing. Rebuild your app using the current public (GM) version of Xcode and resubmit it.

Which is related to dylib. After trying many different things, we currently don't have a good way to approach this problem :/

https://forums.swift.org/t/swift-package-with-dynamic-libraries-leads-to-app-store-validation-error/66857/12