Unable to set Asset Pack Manifest URL Prefix for Xamarin.iOS builds
- Dominant language
- C#
- Stars
- 2.9k
- Forks
- 576
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 96
Description
### Steps to Reproduce
1. Create a Xamarin.iOS application that uses On-Demand Resource asset packs
2. Unable to set remote server URL location for asset packs because build setting does not exist.
### Expected Behavior
I am trying to use Apple On-Demand Resources in a Xamarin app but are running into some issues. According to Apple's documentation, ODR asset packs can either be stored locally or on a remote server of your choosing when testing your app. In production, any files set up for ODR requests are stored on Apple's own servers. But for testing, we would like our assets stored remotely and pulled down by the app instead of being stored locally.
I have ODR set up correctly for accessing asset packs when stored locally. But when it comes to linking up our own remote server, I have yet to find anything that works for Xamarin.iOS and Visual Studio for Mac. If this was native iOS, in XCode, you can set the Asset Pack Manifest URL Prefix build setting for a target to specify the location of where the asset packs are stored.
However, there doesn't seem to be an easily accessible, equivalent build setting for Xamarin.iOS in VS. The closest we have found is on line 2162 of Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets, found [here](https://github.com/xamarin/xamarin-macios/blob/master/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets#L2162). This line references a property 'OnDemandResourcesUrl', but it is unclear how to set this during the build process.
### Actual Behavior
I would expect there to be a configurable setting somewhere in VS for Mac that lets you set this Asset Pack Manifest URL or something equivalent. That way you can specify remote location of where your asset packs are stored for testing.
I was recommended to post a feature request for this here after posting on the Xamarin forums: https://forums.xamarin.com/discussion/175480/how-do-you-set-on-demand-resources-url-for-xamarin-ios-builds/p1?new=1
### Environment
```
=== Visual Studio Community 2019 for Mac ===
Version 8.3.9 (build 2)
Installation UUID: 2ca6970f-21d0-4ee3-8f54-68aa81c525ab
GTK+ 2.24.23 (Raleigh theme)
Xamarin.Mac 5.16.1.24 (d16-3 / 08809f5b)
Package version: 604000208
=== Mono Framework MDK ===
Runtime:
Mono 6.4.0.208 (2019-06/07c23f2ca43) (64-bit)
Package version: 604000208
=== NuGet ===
Version: 5.3.0.6192
=== .NET Core SDK ===
SDK: /usr/local/share/dotnet/sdk/3.0.100/Sdks
SDK Version: 3.0.100
MSBuild SDKs: /Library/Frameworks/Mono.framework/Versions/6.4.0/lib/mono/msbuild/Current/bin/Sdks
=== .NET Core Runtime ===
Runtime: /usr/local/share/dotnet/dotnet
Runtime Versions:
3.0.0
2.1.13
=== Xamarin.Profiler ===
Version: 1.6.12.29
Location: /Applications/Xamarin Profiler.app/Contents/MacOS/Xamarin Profiler
=== Updater ===
Version: 11
=== Xamarin.Android ===
Version: 10.0.6.2 (Visual Studio Community)
Commit: xamarin-android/d16-3/c407838
Android SDK: /Users/mbecker/Library/Developer/Xamarin/android-sdk-macosx
Supported Android versions:
7.0 (API level 24)
7.1 (API level 25)
8.0 (API level 26)
8.1 (API level 27)
SDK Tools Version: 26.1.1
SDK Platform Tools Version: 28.0.2
SDK Build Tools Version: 28.0.3
Build Information:
Mono: mono/mono/2019-06@476d72b9e32
Java.Interop: xamarin/java.interop/d16-3@5836f58
LibZipSharp: grendello/LibZipSharp/d16-3@71f4a94
LibZip: nih-at/libzip/rel-1-5-1@b95cf3fd
ProGuard: xamarin/proguard/master@905836d
SQLite: xamarin/sqlite/3.27.1@8212a2d
Xamarin.Android Tools: xamarin/xamarin-android-tools/d16-3@cb41333
=== Microsoft Mobile OpenJDK ===
Java SDK: /Users/mbecker/Library/Developer/Xamarin/jdk/microsoft_dist_openjdk_1.8.0.25
1.8.0-25
Android Designer EPL code available here:
https://github.com/xamarin/AndroidDesigner.EPL
=== Android SDK Manager ===
Version: 1.4.0.65
Hash: c33b107
Branch: remotes/origin/d16-3
Build date: 2019-11-13 23:01:40 UTC
=== Android Device Manager ===
Version: 1.2.0.116
Hash: d2b2af0
Branch: remotes/origin/d16-3
Build date: 2019-11-13 23:02:02 UTC
=== Xamarin Designer ===
Version: 16.3.0.256
Hash: 8a223bfd7
Branch: remotes/origin/d16-3
Build date: 2019-11-01 21:02:02 UTC
=== Apple Developer Tools ===
Xcode 11.2.1 (15526.1)
Build 11B500
=== Xamarin.Mac ===
Xamarin.Mac not installed. Can't find /Library/Frameworks/Xamarin.Mac.framework/Versions/Current/Version.
=== Xamarin.iOS ===
Version: 13.6.0.12 (Visual Studio Community)
Hash: e3c2b406d
Branch: xcode11.2
Build date: 2019-11-01 00:12:08-0400
=== Xamarin Inspector ===
Version: 1.4.3
Hash: db27525
Branch: 1.4-release
Build date: Mon, 09 Jul 2018 21:20:18 GMT
Client compatibility: 1
=== Build Information ===
Release ID: 803090002
Git revision: 83e2adea93475846201094761baae3414da20b4e
Build date: 2019-11-14 15:17:12+00
Build branch: release-8.3
Xamarin extensions: afdf0ec08b7568ecf06a54a846185b5bd6f4eb25
=== Operating System ===
Mac OS X 10.14.5
Darwin 18.6.0 Darwin Kernel Version 18.6.0
Thu Apr 25 23:16:27 PDT 2019
root:xnu-4903.261.4~2/RELEASE_X86_64 x86_64
```
### Build Logs
No related build logs
### Example Project (If Possible)
Can use this as an example project: https://github.com/xamarin/ios-samples/tree/master/ios9/iTravel
> VS bug [#1042779](https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1042779), VS bug [#1057459](https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1057459)
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.