tree 69fd35ebe7a39bfe0cc4468e38fea39aabfcda3e
parent 5834f41770fee0d341fc86f52929176af56b0b61
author Chris Bracken <chris@bracken.jp> 1525657387 -0700
committer GitHub <noreply@github.com> 1525657387 -0700
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJa768rCRBK7hj4Ov3rIwAAdHIIAIweZ2zbDVA9+VVSkkUooDdd
 RnDi21qR3iPeauPP2snJzAXOEFLBpNcbXmQKAe76gUoTGN+RMq3HHkrltbnsAGzT
 YOGp0RmxmmGK5ZUSxaRAmMELjZvAbzfAeAFE1/wDsYfmL+J1Fa1J4OaQgShh3Hjb
 7d2JccHLSqImgzqtNhIMh+s8bCgZt6Kynrdt9vPOw3oKjhMaIxSKKVLsBrz7pWsn
 YVams3JYkWxt6tquv9hqD61BAkadBMtSkRtLxllck86pdvtyqiHqat9tDrKSpoUD
 HdblZs9YnNm0nOl9eUKZww4wAdLvPu/KrpoIbX7FR+myRxpsjozasfuWr725gII=
 =rTJZ
 -----END PGP SIGNATURE-----
 

Support multi-arch iOS binaries (#17312)

This change adds support for armv7, arm64, and universal iOS apps.

This change eliminates iOS target architecture hardcoding (previously
arm64 only) and uses the target architecture(s) specified in Xcode's
ARCHS setting ('Architectures' in Xcode Build Settings).

For universal binaries, set ARCHS to its default value, $(ARCHS_STANDARD).

Note that after changing the architecture in Xcode, developers should
run 'pod install' from the ios subdirectory of their project. A separate
change (that will land before this one) will add support for
automatically detecting project file and Podfile changes and re-running
pod install if necessary.

This change also adds an --ios-arch option to flutter build aot. In iOS
AOT builds (in profile and release mode), this dictates which
architectures are built into App.framework. This flag should generally
be unnecessary to set manually since flutter build aot is typically only
invoked internally by flutter itself.