xamarin-macios/docs/website
Sebastien Pouliot 54f2dae935
[mtouch] Add `force-rejected-types-removal` optimization (#8009)
This optimization can be enabled when it's not possible to use the
managed linker (e.g. **Don't link**) or when the managed linker cannot
remove references to deprecated types that would cause an application
to be rejected by Apple.

References to the existing types will be renamed, e.g. `UIWebView` to
`DeprecatedWebView`, in every assemblies.

The type definition is also renamed (for validity) and all custom
attributes on the types and their members will be removed.
Code inside the members will be replaced with a
`throw new NotSupportedException ();`.

The msbuild test app `MyReleaseBuild` has been updated to test that the
optimization is working as expected (device builds are slow so reusing
this test has little impact in test time).

Basically the test ensure that `UIWebView` is used and cannot be removed
by the compiler (optimization) or the managed linker (since it's
referenced). Since the optimization is enabled then we can `grep` then
final `.app` directory to ensure there's no mention of `UIWebView` inside
any of the files that would be submitted.

The application can be run, by itself, and will turn green if OK, red if
`DeprecatedWebView` can't be found (skeleton replacement for `UIWebView`)
or orange if a `NotSupportedException` is thrown.

Finally introspection tests have been updated to skip over the deprecated
(and renamed) types. It should not be an issue right now, since this
optimization is not enabled by default, but it made testing easier.
2020-03-02 09:20:29 -05:00
..
xamarin-analysis-doc-tool [xamarin-analysis] Add rule #6 and updated md file (#3088) 2017-12-12 12:43:36 -05:00
Makefile Synchronize back docs moved to https://docs.microsoft.com (#3771) 2018-04-17 09:02:42 -04:00
README.md [docs] Ease tracking updates to code that requires change to the web site documentation (#573) 2016-08-08 17:07:59 -04:00
binding_objc_libs.md [docs] Make our documentation gender neutral (#6810) 2019-08-21 03:52:52 +02:00
binding_types_reference_guide.md Merge remote-tracking branch 'origin/xcode11' into master-xcode11 2019-09-13 18:35:18 +02:00
generator-errors.md Use relative paths in scripts. (#7545) 2019-12-10 12:47:30 +01:00
mmp-errors.md [mmp] Don't ignore failures to execute pkg-config and simplify/improve logic. (#7969) 2020-02-26 00:38:20 +01:00
mtouch-errors.md [mmp] Don't ignore failures to execute pkg-config and simplify/improve logic. (#7969) 2020-02-26 00:38:20 +01:00
optimizations.md [mtouch] Add `force-rejected-types-removal` optimization (#8009) 2020-03-02 09:20:29 -05:00
xamarin-ios-analysis.md Synchronize back docs moved to https://docs.microsoft.com (#3771) 2018-04-17 09:02:42 -04:00

README.md

This directory contains documentation files in markdown format.

They are included here to ensure any changes to

  • Tools error codes;
  • Binding attributes;
  • Binding usage

are documented immediately, i.e. in the same commit that the change was introduced.

This also allows any contributor from the community to enhance the documentation with a pull-request.

The Makefile can be used to copy the files into the documentation repo. Once reviewed locally it can be merged just before the release.