nor0x / appcenter-xmac Goto Github PK
View Code? Open in Web Editor NEWAppCenter-XMac are Xamarin.Mac bindings for the AppCenter SDK
Home Page: https://johnnys.news/2022/01/AppCenter-XMac-is-dead-long-live-Microsoft-AppCenter
License: Other
AppCenter-XMac are Xamarin.Mac bindings for the AppCenter SDK
Home Page: https://johnnys.news/2022/01/AppCenter-XMac-is-dead-long-live-Microsoft-AppCenter
License: Other
currently AZDO fails pushing more than one package to the GitHub NuGet feed. Not a big deal since the packages are available on NuGet anyway
With both the 4.0.0 and 4.1.0 version, when I install either nor0x.AppCenter.Crashes or nor0x.AppCenter.Analytics (have not tried others) into the project I get 2 build errors.
Looking into the build output...this is in part of the output:
MMP : warning MM2013: Failed to resolve the reference to \"Microsoft.AppCenter.MacOS.Bindings, Version=1.0.7676.24434, Culture=neutral, PublicKeyToken=null\", referenced in \"Microsoft.AppCenter.Crashes.MacOS.Bindings, Version=1.0.7676.24436, Culture=neutral, PublicKeyToken=null\". The app will not include the referenced assembly, and may fail at runtime.
MMP : warning MM2013: Failed to resolve the reference to \"Microsoft.AppCenter.MacOS.Bindings, Version=1.0.7676.24434, Culture=neutral, PublicKeyToken=null\", referenced in \"Microsoft.AppCenter.Crashes, Version=1.0.7676.24437, Culture=neutral, PublicKeyToken=null\". The app will not include the referenced assembly, and may fail at runtime.
I'm building with Visual Studio for Mac 8.8.4, Mono 6.12.0.113, Xamarin.Mac 7.0.0.15. On MacOS 10.15.7 and using XCode 12.2.
I've re-read the readme a few times. I don't know what else I might be missing. So am assuming some kind of bug? If I look in the nuget cache folder I see lib folders with dlls in it like "Microsoft.AppCenter.Analytics.MacOS.Bindings.dll". So I'm not sure if there is a disconnect in the name of the dll reference there somewhere.
First, great work @nor0x, and thanks for doing this! It's been a giant pain/gap in the Xamarin.Mac story.
Using the library requires that your project has been migrated to restore packages via PackageReference
nodes. When adding your package in the older Reference
format it creates a bunch of messy hint paths, you see the bad-target AppCenter Assert in the console, and it generally doesn't work.
Unfortunately, VS4Mac's Xamarin.Mac templates still seem to use the older Reference style.
I'm not familiar enough with msbuild to make any diagnoses on the actual problem, but I can follow this issue with a little PR making a note in the readme that should at least help people headoff any confusion. Most people are probably switching towards PackageReference by now anyway, so I'm not sure how large a barrier this is. But would help to clarify.
I build my release with:
codesign --deep
<LinkMode>None</LinkMode>
Transporter worked well. But I got this email from App Store Connect:
Please correct the following issues, then upload again.
ITMS-90291: Malformed Framework - The framework bundle AppCenter (Cuterdio.app/Contents/Frameworks/AppCenter.framework) must contain a symbolic link 'AppCenter' -> 'Versions/Current/AppCenter'. Refer to the Anatomy of Framework Bundles for more information.
ITMS-90291: Malformed Framework - The framework bundle AppCenter (Cuterdio.app/Contents/Frameworks/AppCenter.framework) must contain a symbolic link 'Resources' -> 'Versions/Current/Resources'. Refer to the Anatomy of Framework Bundles for more information.
ITMS-90291: Malformed Framework - The framework bundle AppCenter (Cuterdio.app/Contents/Frameworks/AppCenter.framework) contains 'Headers', which should be a symbolic link -> 'Versions/Current/Headers'. Refer to the Anatomy of Framework Bundles for more information.
ITMS-90292: Malformed Framework - The framework bundle AppCenter (Cuterdio.app/Contents/Frameworks/AppCenter.framework) 'Versions' directory must contain a symbolic link 'Current' resolving to a specific version directory. Resolved link target: '${linkTarget}'. Refer to the Anatomy of Framework Bundles for more information.
ITMS-90291: Malformed Framework - The framework bundle AppCenterAnalytics (Cuterdio.app/Contents/Frameworks/AppCenterAnalytics.framework) must contain a symbolic link 'AppCenterAnalytics' -> 'Versions/Current/AppCenterAnalytics'. Refer to the Anatomy of Framework Bundles for more information.
ITMS-90291: Malformed Framework - The framework bundle AppCenterAnalytics (Cuterdio.app/Contents/Frameworks/AppCenterAnalytics.framework) must contain a symbolic link 'Resources' -> 'Versions/Current/Resources'. Refer to the Anatomy of Framework Bundles for more information.
ITMS-90291: Malformed Framework - The framework bundle AppCenterAnalytics (Cuterdio.app/Contents/Frameworks/AppCenterAnalytics.framework) contains 'Headers', which should be a symbolic link -> 'Versions/Current/Headers'. Refer to the Anatomy of Framework Bundles for more information.
ITMS-90292: Malformed Framework - The framework bundle AppCenterAnalytics (Cuterdio.app/Contents/Frameworks/AppCenterAnalytics.framework) 'Versions' directory must contain a symbolic link 'Current' resolving to a specific version directory. Resolved link target: '${linkTarget}'. Refer to the Anatomy of Framework Bundles for more information.
ITMS-90291: Malformed Framework - The framework bundle AppCenterCrashes (Cuterdio.app/Contents/Frameworks/AppCenterCrashes.framework) must contain a symbolic link 'AppCenterCrashes' -> 'Versions/Current/AppCenterCrashes'. Refer to the Anatomy of Framework Bundles for more information.
ITMS-90291: Malformed Framework - The framework bundle AppCenterCrashes (Cuterdio.app/Contents/Frameworks/AppCenterCrashes.framework) must contain a symbolic link 'Resources' -> 'Versions/Current/Resources'. Refer to the Anatomy of Framework Bundles for more information.
ITMS-90291: Malformed Framework - The framework bundle AppCenterCrashes (Cuterdio.app/Contents/Frameworks/AppCenterCrashes.framework) contains 'Headers', which should be a symbolic link -> 'Versions/Current/Headers'. Refer to the Anatomy of Framework Bundles for more information.
ITMS-90292: Malformed Framework - The framework bundle AppCenterCrashes (Cuterdio.app/Contents/Frameworks/AppCenterCrashes.framework) 'Versions' directory must contain a symbolic link 'Current' resolving to a specific version directory. Resolved link target: '${linkTarget}'. Refer to the Anatomy of Framework Bundles for more information.
I have the linker disabled, I have migrated my packages.config to PackageReference and I am using the latest version of the nuget nor0x.AppCenter 4.4.0-XMAC, I have compiled, recompiled, cleaned the solution, deleted the bin and obj folder and restarted visual studio but the following error cannot be solved:
Compilation error The command "cd bin \ Debug \ myApp \ Contents \ Frameworks \ AppCenter.framework ; rm AppCenter; ln -s Versions \ A \ AppCenter AppCenter" exited with code 1.
Anyone have any idea what can happen? thanks for your attention.
First of all, signed builds are working with the 4.0.0 release, much thanks!!
Handled, but also unhandled exceptions are not visible in the Diagnose/Issues.
In the logflow are they visible only with an error_id.
Any idea?
As soon as I add the packages (without any additional code) my project that works well without it doesn't build anymore with those messages:
bin/Debug/myApp.app : error : /{myAppPath}: code object is not signed at all
bin/Debug/myApp.app : error : In subcomponent: /{myAppPath}/Contents/Frameworks/AppCenterAnalytics.framework
It is likely that this happens because my app is signed to work in sandbox and to be released on the App Store. Is there some way to fix this?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.