Skip to content

[iOS/Mac Catalyst] ApplicationTitle is not setting correctly #20615

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

Closed
rolfbjarne opened this issue May 20, 2024 · 15 comments · Fixed by #22913
Closed

[iOS/Mac Catalyst] ApplicationTitle is not setting correctly #20615

rolfbjarne opened this issue May 20, 2024 · 15 comments · Fixed by #22913
Assignees
Labels
bug If an issue is a bug or a pull request a bug fix dotnet An issue or pull request related to .NET (6)
Milestone

Comments

@rolfbjarne
Copy link
Member

From @mhrastegari on Sun, 18 Jun 2023 18:27:22 GMT

Summary

We have several .NET MAUI Blazor projects and we're going to be publish them in Apple store but the <ApplicationTitle>Bit BlazorUI Demo</ApplicationTitle> is not setting correctly!

  • In iOS's home screen spaces of title ignored and shows BitBlazorUIDemo but like in the remove app popup or applications list it shows fine.
  • In Mac Catalyst it uses the csproj name for execute file which is Bit.BlazorUI.Demo.Client.App and because the end of it has App word it won't show up in Launchpad.

Screenshots

iOS:
Screenshot 2023-06-18 at 21 35 42

macOS:
Screenshot 2023-06-18 at 21 37 59

Infos

.NET: 7.0.304
macOS: 13.4
iOS: 16.4

Sample repo

MauiAppTitleIssue.zip

Copied from original issue dotnet/maui#15717

@rolfbjarne
Copy link
Member Author

From @ghost on Mon, 19 Jun 2023 03:49:09 GMT

Hi @mhrastegari. We have added the "s/needs-repro" label to this issue, which indicates that we require steps and sample code to reproduce the issue before we can take further action. Please try to create a minimal sample project/solution or code samples which reproduce the issue, ideally as a GitHub repo that we can clone. See more details about creating repros here: https://github.com/dotnet/maui/blob/main/.github/repro.md

This issue will be closed automatically in 7 days if we do not hear back from you by then - please feel free to re-open it if you come back to this issue after that time.

@rolfbjarne
Copy link
Member Author

From @drasticactions on Mon, 19 Jun 2023 03:50:10 GMT

Can you create a project with what values you tried to change and where to reproduce what your screenshots show? It'll help so we can know exactly what you tried to change.

@rolfbjarne
Copy link
Member Author

From @mhrastegari on Mon, 19 Jun 2023 15:45:22 GMT

Sure, just added at the bottom of the issue @drasticactions

@rolfbjarne
Copy link
Member Author

From @mkArtakMSFT on Mon, 19 Jun 2023 16:33:39 GMT

@drasticactions which area should I move this issue to? Doesn't seem to be Blazor specific.

@rolfbjarne
Copy link
Member Author

From @mhrastegari on Mon, 19 Jun 2023 18:48:26 GMT

Yeah, it's not related to Blazor @mkArtakMSFT

I think @jsuarezruiz should replace Blazor label with Mac Catalyst.

@rolfbjarne
Copy link
Member Author

From @mhrastegari on Mon, 02 Oct 2023 20:35:28 GMT

@drasticactions Will it be fixed in .NET 8 GA? because I'm on RC1 and the MacCatalyst app name issue is still there!

@rolfbjarne
Copy link
Member Author

From @axylophon on Tue, 10 Oct 2023 05:42:13 GMT

We have the same issue when setting the in the csproj file with a space between two words. On iOS the space is then missing.

Does anybody has a workaround?

@rolfbjarne
Copy link
Member Author

From @jaosnz-rep on Fri, 26 Jan 2024 06:58:57 GMT

Verified this issue with Visual Studio for mac 17.6.8 (build 400). Can repro on iOS platforms with sample project.
MauiAppTitleIssue.zip

@rolfbjarne
Copy link
Member Author

From @daltzctr on Thu, 09 May 2024 15:41:46 GMT

This is still an issue.

@rolfbjarne
Copy link
Member Author

From @daltzctr on Thu, 09 May 2024 16:40:10 GMT

Workaround: dotnet/docs-maui#1843

@rolfbjarne
Copy link
Member Author

From @daltzctr on Thu, 09 May 2024 17:17:01 GMT

Another fun tidbit. If the assembly name has spaces in it, it breaks debugging. A simple condition to the property fixes that.

@rolfbjarne
Copy link
Member Author

From @daltzctr on Fri, 10 May 2024 16:54:57 GMT

For iOS, the removal of spaces is intended behavior per https://stackoverflow.com/questions/44275567/how-can-i-add-spaces-to-the-app-name

@rolfbjarne
Copy link
Member Author

From @rolfbjarne on Mon, 20 May 2024 08:46:49 GMT

This is kind of interesting, on iOS the name of the app bundle isn't visible anywhere for the end user, while for Mac Catalyst it's apparently quite visible.

Should we come up with a public MSBuild property for this? And then .NET MAUI's $(ApplicationTitle) could also set it?

Seems like just making _AppBundleName default to $(ApplicationTitle) for Mac Catalyst (and macOS as well I suppose) in our props file would do it.

Moving to xamarin/xamarin-macios, because that's where this should be fixed.

@rolfbjarne
Copy link
Member Author

Workaround (from #21478):

  1. Pass -p:_AppBundleName="Actual App Title" to dotnet publish.
  2. Set CFBundleExecutable=Actual App Title in the Info.plist.
  3. Pass -bl:msbuild.binlog to dotnet publish as well, and upload msbuild.binlog if it still doesn't work.

@evgenyvalavin
Copy link

+1

@rolfbjarne rolfbjarne self-assigned this May 27, 2025
rolfbjarne added a commit that referenced this issue May 27, 2025
* Starting with .NET 10, make '$(ApplicationTitle)' control the name of the
  app bundle for desktop apps (the name of the app bundle isn't visible for
  mobile apps anywhere, so it doesn't matter for mobile apps). If not set, the
  default is "$(AssemblyName)" (like it was before).
* Make the native executable name follow "$(AssemblyName)" instead of the app
  bundle name (since those two can now be different).
* Make the CompileAppManifests target take a parameter specifying the name of
  the native executable, and write this as CFBundleExecutable in the app
  manifest.
* Add a test.

Fixes #20615.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug If an issue is a bug or a pull request a bug fix dotnet An issue or pull request related to .NET (6)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants