tree 27ed8dc53e5eef3084581294c21cb675a67d6d95
parent d6619d8e8b47aecf8513dd120cc33625ddd56e77
author stuartmorgan <stuartmorgan@google.com> 1643059831 -0500
committer GitHub <noreply@github.com> 1643059831 -0800
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJh7xp3CRBK7hj4Ov3rIwAArOwIAJNne7G4a8ssq4ErEfB5Niv0
 n7T5Mktx41HHe808lHEOYDNEfIFIuit/oqYLrBLWjRvfCB0m6+QXE034XzPGJd/8
 CK8FQGXDlMcn/2U8dcrZmwznK6fQq+3Kk6e7k9B2nOVIX5JTnu3a1Iw/gVqD0wqP
 UpHG55lH0xdRAZ1nBuBRJo3z4lMTeWaKo6TtENSXnQ/oJBVoDTWKyC6T8ZaAHbph
 XO2aG2sTkLqWc5Muqm9wadtvbkCYKGoHKkewaKsl+v5//AZeXhTem6vweMAC1guY
 U7/sf5+SZYNb8hRYFn3xNNRyinEJIOZ0xD5PHAuk55UUbt51TSZg3lIxvo2Db84=
 =eNrP
 -----END PGP SIGNATURE-----
 

[video_player] Update iOS README section (#4688)

Removes the suggestion to just use the strongly-discouraged-by-Apple `NSAllowsArbitraryLoads`, and instead links to Apple's docs about the various options.

This removes the example entirely since there's no one-size-fits-all case; some clients would just need `NSExceptionDomains` (this seems likely to be the more common case?), others `NSAllowsArbitraryLoadsForMedia`, others `NSAllowsArbitraryLoadsForMedia`+` NSAllowsArbitraryLoads` (to support iOS 9). Given that the narrowest option that works for someone is the best option, having them actually research the options is the best thing to steer people toward, even if that's not as simple as "copy and paste the following".

Also opportunistically removes a couple of obsolete items:
- An incorrect note that `android.permission.INTERNET` is likely already present in the
  main Android manifest file; it was made debug-only a while ago.
- An old note about web version compatibility; we only support Flutter 2+ now anyway.