xamarin / xamarin-macios

.NET for iOS, Mac Catalyst, macOS, and tvOS provide open-source bindings of the Apple SDKs for use with .NET managed languages such as C#
Other
2.44k stars 507 forks source link

imessage archiving is broken #3955

Open zengable opened 6 years ago

zengable commented 6 years ago

Steps to Reproduce

  1. create a new app and a corresponding iMessage extension
  2. set all mandatory iMessage app icons in the asset catalog, and also for the hosting app
  3. archive for publishing
  4. try to upload to iTunes connect

Expected Behavior

It should be possible to publish the app without errors.

Actual Behavior

iTunes returns errors, eg.: iMessage upload problem: ITMS-90642 : MSMessagesExtensionStoreIconName missing from the iMessage appex

Further Details / Workaround / Solution suggestion

By comparing the same new app + imessage extension archive created with XCode, there are 2 notable differences:

  1. Indeed, the MSMessagesExtensionStoreIconName is present in the Info.plist of the archived iMessage appex bundle (this key is not present in the project's Info.plist, only gets inserted during archiving), however this is not present in the output of the VS archive
  2. Assets.car are generated and included in the iMessage.appex pluging project, containing all the mandatory app icon assets (again, VS output does not do this)

By manually adding the MSMessagesExtensionStoreIconName to the Visual Studio iMessage project's Info.plist and adding the Assets.car file generated by XCode to the VS project and setting the Build Action to BundleResource, I was able to force the Asset.car file to the appex project generated by VS.

After these two manual steps, I was able to upload the app to iTunes Connect.

I do not know if I missed any other differences honestly, I was just happy that after spending endless hours running in circles iTunes Connect finally accepted the binary.

Environment

=== Visual Studio Community 2017 for Mac ===

Version 7.4.3 (build 10)
Installation UUID: 4c89704f-df6f-403f-b4dd-a7956d6da813
Runtime:
    Mono 5.8.1.0 (2017-10/6bf3922f3fd) (64-bit)
    GTK+ 2.24.23 (Raleigh theme)

    Package version: 508010000

=== NuGet ===

Version: 4.3.1.4445

=== .NET Core ===

Runtime: /usr/local/share/dotnet/dotnet
Runtime Version: 2.0.5
SDK: /usr/local/share/dotnet/sdk/2.1.4/Sdks
SDK Version: 2.1.4
MSBuild SDKs: /Library/Frameworks/Mono.framework/Versions/5.8.1/lib/mono/msbuild/15.0/bin/Sdks

=== Xamarin.Profiler ===

Version: 1.6.1
Location: /Applications/Xamarin Profiler.app/Contents/MacOS/Xamarin Profiler

=== Apple Developer Tools ===

Xcode 9.3 (14154)
Build 9E145

=== Xamarin.Mac ===

Version: 4.2.1.29 (Visual Studio Community)

=== Xamarin.iOS ===

Version: 11.9.1.24 (Visual Studio Community)
Hash: f62de472
Branch: xcode9.3
Build date: 2018-03-29 19:30:53-0400

=== Xamarin.Android ===

Version: 8.2.0.16 (Visual Studio Community)
Android SDK: /Users/gable/Library/Developer/Xamarin/android-sdk-macosx
    Supported Android versions:
        7.1 (API level 25)
        8.1 (API level 27)

SDK Tools Version: 26.1.1
SDK Platform Tools Version: 27.0.1
SDK Build Tools Version: 27.0.3

Java SDK: /usr
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

Android Designer EPL code available here:
https://github.com/xamarin/AndroidDesigner.EPL

=== Xamarin Inspector ===

Version: 1.4.0
Hash: b3f92f9
Branch: master
Build date: Fri, 19 Jan 2018 22:00:34 GMT
Client compatibility: 1

=== Build Information ===

Release ID: 704030010
Git revision: 5af3e98549653fcc5335896ccc296343d08f31bb
Build date: 2018-04-12 12:32:07-04
Xamarin addins: fadb82fb0fe2668cb7789f8b524aec6fb8568ee7
Build lane: monodevelop-lion-d15-6

=== Operating System ===

Mac OS X 10.13.3
Darwin 17.4.0 Darwin Kernel Version 17.4.0
    Sun Dec 17 09:19:54 PST 2017
    root:xnu-4570.41.2~1/RELEASE_X86_64 x86_64

=== Enabled user installed addins ===

Internet of Things (IoT) development (Preview) 7.1

Example Project (If Possible)

mandel-macaque commented 6 years ago

Thx for the great issue report. Will take a look to confirm the issues and will triage accordingly.

zengable commented 6 years ago

Thanks!

mandel-macaque commented 6 years ago

@zengable confirmed the bug. We will look at fixing it ASAP.

zengable commented 6 years ago

thanks!

zengable commented 5 years ago

@mandel-macaque do you have an ETA for this fix?

rolfbjarne commented 5 years ago

@jstedfast: is this something that should be fixed in our msbuild tasks, or is it IDE-specific code?

jstedfast commented 5 years ago

Depends on how the IDE archives the build.

VSMac uses msbuild to archive.