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

[Main][Xcode12] Add support for Xcode 12 #9692

Merged
merged 387 commits into from
Sep 25, 2020
Merged

[Main][Xcode12] Add support for Xcode 12 #9692

merged 387 commits into from
Sep 25, 2020

Conversation

mandel-macaque
Copy link
Member

No description provided.

mandel-macaque and others added 30 commits July 15, 2020 16:29
Some backlog from Xcode11 still exists and requires generator changes
Tracked in #8943
The framework is not available (binary or even headers) for the iOS
simulator, only devices.

As such `tools/mtouch/Makefile` is not updated with a `-weak-framework`

Tracked with
* https://github.com/xamarin/maccore/issues/2266
* https://feedbackassistant.apple.com/feedback/8001312
New commits in xamarin/maccore:

* xamarin/maccore@61fa67753c [install-qa-provisioning-profiles] Don't try to touch a directory that doesn't exist. (#2268)

Diff: https://github.com/xamarin/maccore/compare/e6eed65b74728cab3093697711eb5ed4ffed772e..61fa67753cd6145e7f52e501127956f1d409a82a
* [AppKit] Xcode 12.0 Beta 1

* Apply suggestions from code review

Co-authored-by: Rolf Bjarne Kvinge <[email protected]>
Co-authored-by: Alex Soto <[email protected]>

* More code review changes

* Apply suggestions from code review

Co-authored-by: Alex Soto <[email protected]>

* Code review changes

* Apply suggestions from code review

Co-authored-by: Whitney Schmidt <[email protected]>

* Remove unnecessary 10.7 mac attribute

Co-authored-by: Rolf Bjarne Kvinge <[email protected]>
Co-authored-by: Alex Soto <[email protected]>
Co-authored-by: Whitney Schmidt <[email protected]>
* [MetalPerformanceShaders] Neural Networks Update to Xcode 11

This includes updates from PRs #6932, #6935 and #7461

It adds new functionality to the neural network components.
This is still not the complete API for 11.3

* Update src/metalperformanceshaders.cs

Co-Authored-By: Rolf Bjarne Kvinge <[email protected]>

* Make changes requested by @rolfbjarne

* Fix binding of default random distribution creation

The parameterless function creates new
default distributions and is not a property.
It is a counterpart of CreateUniform.

* Expose public APIs for MPSCnnConvolutionTransposeNode

These APIs are public and documented at: https://developer.apple.com/documentation/metalperformanceshaders/mpscnnconvolutiontransposenode/2942641-initwithsource?language=objc

I have also tested that they work.

* Reintroduce compat API.

* Fix acronym casing.

* Fix introspection tests.

* Fix xtro.

* One last xtro issue.

* Fix more xtro.

* Another introspection fix.

Co-authored-By: Frank A. Krueger <[email protected]>
Co-authored-by: Rolf Bjarne Kvinge <[email protected]>

* Apply suggestions from code review

Co-authored-by: Rolf Bjarne Kvinge <[email protected]>

* Apply feedback

* Please the typo guardians

Co-authored-by: Frank A. Krueger <[email protected]>
Co-authored-by: Rolf Bjarne Kvinge <[email protected]>
… for inputs (#9134)

* [msbuild] Changes GetMinimumOSVersionTaskBase to use ITaskItem for inputs

From Visual Studio we need the input files to be  instead of plain strings to identify the files that need to be copied to the Mac

* Adds null check for AppManifest in GetMinimumOSVersionTaskBase
`GetMinimumOSVersion` should not be run if there's no Mac available because it depends on `_DetectSdkLocations` to calculate the value of `_SdkVersion`, and this will only happen if there's a Mac connected. This change fixes offline builds (plain IL builds) and Hot Restart builds on Windows.
* bump APIDIFF_REFERENCES
Co-authored-by: Whitney Schmidt <[email protected]>
* bump APIDIFF_REFERENCES
Co-authored-by: Whitney Schmidt <[email protected]>
Fixes https://developercommunity.visualstudio.com/content/problem/934833/xamarinforms-cant-create-archive-for-ios.html

Depending on the default language of the running OS this could cause translating AM/PM to symbols that are not supported on folder names on Windows.

For instance, the value of `timestamp` without this change for an user that sets Chinese as it's main language would be `8-18-15 1.31 下午`, where `下午` represent PM.
* Disable iOS 32bits simulator based tests
Apple removed the 10.16 API instead of marking them for 11.0 ?!?
@monojenkins
Copy link
Collaborator

Build failure
Build failed or was aborted

Provisioning succeeded
🔥 Build failed 🔥

.gitmodules Outdated
@@ -1,7 +1,7 @@
[submodule "external/macios-binaries"]
path = external/macios-binaries
url = ../../xamarin/macios-binaries
branch = main
branch = d16-8
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This isn't quite right.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rolfbjarne We can't build binaries with Mac build disabled unless you think we should just merge branches in macios-binaries (d16-8 => main) I do not see another workaround

Copy link
Member

@rolfbjarne rolfbjarne Sep 24, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I'd say we merge d16-8 into main in macios-binaries.

@@ -111,9 +111,9 @@ WATCHOS_NUGET_VERSION_NO_METADATA=$(WATCHOS_NUGET_VERSION)-$(NUGET_PRERELEASE_ID
WATCHOS_NUGET_VERSION_FULL=$(WATCHOS_NUGET_VERSION_NO_METADATA)+$(NUGET_BUILD_METADATA)

# Xcode version should have both a major and a minor version (even if the minor version is 0)
XCODE_VERSION=11.6
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

APIDIFF_REFERENCES= (earlier, around line 34) should also be updated to point to XI 14.0 stable release

</_AppExtensionCodesignProperties>
</ItemGroup>
</Target>

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IIRC that was already in main and backported into xcode12, c.c. @chamons
are sure you're not duplicating the logic ?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You are correct, appears twice in the file, removing.

@monojenkins
Copy link
Collaborator

Build failure
Build failed or was aborted

Provisioning succeeded
🔥 Build failed 🔥

@monojenkins
Copy link
Collaborator

Build failure
Build failed or was aborted

Provisioning succeeded
🔥 Build failed 🔥

@monojenkins
Copy link
Collaborator

Build failure
Build failed or was aborted

Provisioning succeeded
🔥 Build failed 🔥

@monojenkins
Copy link
Collaborator

Build failure
Provisioning succeeded
Build succeeded
API Diff (from stable)
⚠️ API Diff (from PR only) (🔥 breaking changes 🔥)
ℹ️ Generator Diff (please review changes)
🔥 Test run failed 🔥

Test results

6 tests failed, 111 tests passed.

Failed tests

  • interdependent-binding-projects/iOS Unified 64-bits - simulator/Debug [dotnet]: Crashed
  • introspection/iOS Unified 64-bits - simulator/Debug [dotnet]: Crashed
  • monotouch-test/iOS Unified 64-bits - simulator/Debug [dotnet]: Crashed
  • dont link/iOS Unified 64-bits - simulator/Debug [dotnet]: Crashed
  • dont link/iOS Unified 64-bits - simulator/Release [dotnet]: Crashed
  • DotNet tests: Failed (Execution failed with exit code 1)

@monojenkins
Copy link
Collaborator

Build failure
Provisioning succeeded
Build succeeded
API Diff (from stable)
⚠️ API Diff (from PR only) (🔥 breaking changes 🔥)
ℹ️ Generator Diff (please review changes)
🔥 Test run failed 🔥

Test results

5 tests failed, 112 tests passed.

Failed tests

  • interdependent-binding-projects/iOS Unified 64-bits - simulator/Debug [dotnet]: Crashed
  • introspection/iOS Unified 64-bits - simulator/Debug [dotnet]: Crashed
  • monotouch-test/iOS Unified 64-bits - simulator/Debug [dotnet]: Crashed
  • dont link/iOS Unified 64-bits - simulator/Debug [dotnet]: Crashed
  • dont link/iOS Unified 64-bits - simulator/Release [dotnet]: Crashed

…fix selecting whether a framework should be linked weakly or not in dotnet-linker.

This fixes a startup crash in the simulator with Xcode 12:

    Library not loaded: /usr/lib/libnfshared.dylib
      Referenced from: /Applications/Xcode_12.0.0-GMb.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/CoreNFC.framework/CoreNFC
      Reason: no suitable image found.  Did find:
    	/usr/lib/libnfshared.dylib: mach-o, but not built for platform iOS-sim

Ref: https://stackoverflow.com/q/63915728/183422
@monojenkins
Copy link
Collaborator

Build success
Provisioning succeeded
Build succeeded
API Diff (from stable)
⚠️ API Diff (from PR only) (🔥 breaking changes 🔥)
ℹ️ Generator Diff (please review changes)
Test run succeeded

@mandel-macaque mandel-macaque merged commit 764734d into main Sep 25, 2020
@mandel-macaque mandel-macaque deleted the main-xcode12 branch September 25, 2020 16:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.