Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Need to include libraries in iOS packaging #33752

Closed
steveisok opened this issue Mar 19, 2020 · 7 comments
Closed

Need to include libraries in iOS packaging #33752

steveisok opened this issue Mar 19, 2020 · 7 comments
Labels
area-Setup discussion untriaged New issue has not been triaged by the area owner
Milestone

Comments

@steveisok
Copy link
Member

To complete the packaging story for iOS, we need to include the libraries (the entire netcoreapp).

@NikolaMilosavljevic @dagood, I was told the installer may already do this and that you may be able to help?

@Dotnet-GitSync-Bot Dotnet-GitSync-Bot added area-Setup untriaged New issue has not been triaged by the area owner labels Mar 19, 2020
@dagood
Copy link
Member

dagood commented Mar 19, 2020

Is there a design for how we want the iOS dev experience to work overall? I assumed iOS was just another RID when I responded to your IM earlier, but with a quick search I see it's connected to Mono, e.g. #33690, #1018.

I heard of a plan maybe a year ago to ship .NET 5 Mono as a runtime pack only (set of runtime packs?) with some additional data in the package id to differentiate the mono VM vs. coreclr, but nothing since then. At this point I think we could point you to the files responsible for packaging netcoreapp but we're missing context to actually help.

I think I'm echoing @jaredpar's comment at #1018 (comment), which suggests the runtime pack thing I mentioned is no longer the plan.

@dsplaisted
Copy link
Member

iOS and android will be represented in the TargetFramework property, ie net5.0-ios14 or net5.0-android21. The OS portion will be broken down into the TargetPlatformIdentifier and TargetPlatformVersion properties. Here's the design for that: dotnet/designs#92

The selection of the runtime pack is done by the .NET SDK. For iOS and Android that will probably in concert with the iOS and Android optional components (ie they would supply KnownFrameworkReference items).

So I think the iOS and Android runtime packs will work pretty much the same as the existing runtime packs. The logic to select which one to use may change a bit, but would still generally be based on the target framework and the RID.

Does that make sense?

@akoeplinger
Copy link
Member

Sounds good, who can work on adding the package for iOS?

@dagood
Copy link
Member

dagood commented Mar 19, 2020

Very helpful, thanks @dsplaisted.

RIDs for this are e.g. ios.8-x64. We'll need logic in src/installer/pkg/projects/netcoreapp/src/netcoreapp.depproj (and files that feed paths into it like eng/liveBuilds.targets) to gather up the right Mono assets when building for that RID, and a new set of official build jobs to build the new platforms in installer:

- iOS_x64
- iOS_arm
- iOS_arm64

/cc @dleeapho

@marek-safar marek-safar added this to the 5.0 milestone Mar 19, 2020
@Redth
Copy link
Member

Redth commented Mar 19, 2020

Not sure this is in scope of this issue but it may help to keep in mind that generally when we talk about building android and iOS apps we need to build multiple RID’a at once.

@dagood
Copy link
Member

dagood commented Mar 20, 2020

@Redth it sounds like you're asking for dotnet/sdk#6490 or dotnet/sdk#9363, or something like that. (But yeah, it's not part of this issue.)

@NikolaMilosavljevic
Copy link
Member

Have a plan for this work on Mono side. All questions have been answered.

@ghost ghost locked as resolved and limited conversation to collaborators Dec 10, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-Setup discussion untriaged New issue has not been triaged by the area owner
Projects
None yet
Development

No branches or pull requests

8 participants