Skip to content
This repository has been archived by the owner on Feb 2, 2023. It is now read-only.

ObjectiveC: Nullability, Lightweight Generics #664

Closed
wants to merge 49 commits into from

Conversation

Adlai-Holler
Copy link
Contributor

Killer framework! This PR updates the public API Objective-C for Xcode 7 so the framework integrates with Swift better plus adds some compiler checks.

@levi
Copy link
Contributor

levi commented Sep 17, 2015

Thanks for this, @adly-holler. I was just adding these this morning and you beat me to it :). Be sure to update the .travis.yaml to support the syntax additions: osx_image: xcode7.

@Adlai-Holler
Copy link
Contributor Author

Ah! Thanks @levi , done and done!

@SRandazzo
Copy link
Contributor

yyyaaaaassssssss!!!! 👍 so much on this! Thanks

@Adlai-Holler
Copy link
Contributor Author

@appleguy If this is too big a change for one external PR, I'd be glad to target a separate branch so others can work on it too

@appleguy
Copy link
Contributor

Hey @adly-holler — love your enthusiasm, as I was starting to use this syntax in some of my own work :). I was hesitant to change the build system configuration right before the NSSpain announcement of 2.0. It's still not showing a clean build, but let's retry it and see if we can get it in!

@Adlai-Holler
Copy link
Contributor Author

@appleguy Sweet! I got it to the point where it'll build on Travis, but now some tests are failing because of missing implementations of category properties like [_ASDisplayLayer asyncdisplaykit_isAsyncTransactionContainer]: unrecognized selector. I added an implementation for one of them, and then it crashed on a different one.

I don't quite understand how these methods were ever getting implemented in the first place. All I can find is @dynamic [name] specifiers with no implementation code in sight. Any pointers? @nguyenhuy ?

@appleguy
Copy link
Contributor

@adly-holler if you roll back your commits, does it start building? Maybe try submitting a PR with the Xcode 7 travis build image alone, without adopting any new language features, and see if that has the same issue?

I'm pretty sure ASDK builds with Xcode 7, but perhaps not on Travis.

@appleguy
Copy link
Contributor

This change allowed me to build & run unit tests locally with Xcode 7 Beta 5. Downloading the final version, but it may not finish before I get on the plane tomorrow (going very slowly on hotel internet).

#670

@Adlai-Holler Adlai-Holler mentioned this pull request Sep 19, 2015
Conflicts:
	AsyncDisplayKit/Details/UIView+ASConvenience.h
Conflicts:
	AsyncDisplayKit/ASCollectionView.h
	AsyncDisplayKit/ASTableView.h
	AsyncDisplayKit/Details/ASLayoutController.h
	AsyncDisplayKit/Details/ASRangeController.h
@appleguy
Copy link
Contributor

Sadly there is zero traction whatsoever on the Apple issues, so it is going to take months to land this. I am going to close the PR until we are on Xcode 7, and then reopen.

@appleguy appleguy closed this Nov 27, 2015
Conflicts:
	AsyncDisplayKit/ASDisplayNodeExtras.h
	AsyncDisplayKit/Details/ASTextNodeRenderer.h
	AsyncDisplayKit/Details/ASTextNodeShadower.h
Conflicts:
	AsyncDisplayKit/ASDisplayNode+Subclasses.h
Conflicts:
	AsyncDisplayKit/ASDisplayNode+Subclasses.h
Conflicts:
	AsyncDisplayKit/Private/ASDisplayNode+FrameworkPrivate.h
@appleguy appleguy reopened this Dec 25, 2015
@appleguy
Copy link
Contributor

I worked around Apple's frustrating, still-unfixed bug with @dynamic properties on CALayer by avoiding use of them. It's a suboptimal solution as we lose certain capabilities, but I'm excited to get this in. A truly happy Christmas 2015, lol!

#994

@appleguy
Copy link
Contributor

Now superseded by #995 as this couldn't be merged with master. Getting close to 1000!

@appleguy appleguy closed this Dec 25, 2015
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants