Skip to content

Project files for xcframework binary of iOS MatchingEngine SDK

License

Notifications You must be signed in to change notification settings

edgexr/edge-cloud-sdk-ios

 
 

Repository files navigation

Quick build instructions:

For simulator build, uncomment the line for: #config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = "arm64"

Note that his may break M1 ARM simulator builds, but the output has generation for both x86_64 and arm64 architectures for simulator.

For release builds, set the project scheme to "Release", under

Project --> Scheme --> Edit Scheme

Make clean to deintegrate the Podfile, and run again with the line defined for simulator builds. Do so again to swap back.

Because some stuff is built for distribution, the app must also build for distribution, or else at runtime, symbols will be missing.

For release builds, it only builds for the current architecture by default. grpc-Swfit is being set for Library Evolution mode, although it doesn't fully officially support it yet due to performance concerns. However, we need to build a binary, so have marked some things to build separately, both in app, and library due to ABI stability concerns. The app should be tracking grpc functionality changes as it is exposed to the raw data types (which are quite descriptive, and pointless to duplicate for performance ressons), even if the wire protocol stays the same.

Currently, there's a build detail to work around for a gRPC-Swift depedency:

CNIOAtomics, for threading atomics support, needs to be set to Multi-Arch builds under Pods --> CNIOAtomics --> Build Settings --> Allow Multi-Platform Bulids.

M1 compile situation: TBD.

About

Project files for xcframework binary of iOS MatchingEngine SDK

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 52.9%
  • Swift 40.8%
  • Makefile 6.3%