-
Notifications
You must be signed in to change notification settings - Fork 25
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
Support ARTPushRegistererDelegate on iOS 14 #1075
Conversation
…egate. - removes exceptions which should never have been thrown from within the machine. - simplifies optional method checks by requesting NSObject protocol conformance. - removes impotent __block storage qualifiers.
So far this PR just presents the groundwork. The next step is to offer an alternative route for actively injecting the delegate. |
The Carthage workaround we're using, in lieu of this either being fixed in Carthage or us throwing Carthage out of our mix: Carthage/Carthage#3019 (comment) I've also added --no-use-binaries to our Makefile which will result in less compatibility issues, albeit at the cost of greater build at times. Inspired by: https://medium.com/wolox/how-to-carthage-efficiently-4913b8378898
Good progress today but still a way to go. We're now building and running tests successfully in Xcode 12. Remaining to do, as far as I'm aware:
|
Variable was never mutated; consider changing to 'let' constant. Variable was never used; consider replacing with '_' or removing it. Value was defined but never used; consider replacing with boolean test. NSData cast is unnecessary. Predicate.fromDeprecatedClosure is deprecated.
I say 🎉 to the fact that:
I’ve had to spend quite a bit of time looking at this PR to roughly understand what’s going on here. A large amount of this is definitely because I’m new to the company, the codebase, and the problem space. But I also think that we could spend a bit of time thinking about how this PR is presented, to see whether it could be made friendlier for reviewers, and whether there’s anything we might want to think about when we present our work for code review in the future. I found myself doing quite a lot of guesswork to understand the intent behind the various components of this PR. I’ll try and explain my thought process. I realise that I’ve spent more time here commenting on the structure of the PR than engaging with its exact contents. And if I’ve completely misunderstood what's going on here and wasted a bunch of people's time, then I'm very sorry. How have we fixed #1069?The PR description says that it fixes issue #1069. So I was a little surprised to see that there was no further mention of what we’ve done to fix this particular issue - neither in the pull request description nor the commit messages. Issue #1069 describes a symptom - a library user’s app is crashing when the app delegate is instantiated in a specific manner new to iOS 14. Before we can fix the symptom, I think we first need to understand the underlying cause. The user who raised the issue has offered their speculation as to the cause (“I believe This probably requires us to begin by reproducing the issue ourselves. I did a little bit of investigation here, creating a test app to see how protocol conformance of the app delegate is affected by Have we fixed #1069 in two different ways?It seems to me like the very first commit of this pull request ( With that in mind, I’m a little confused about why we then build functionality that allows a push registerer delegate to be passed in to the SDK, instead of using the application’s Why is this PR the right place to get the SDK working with Xcode 12?So, it seems like this PR has three main themes:
It’s not 100% clear to me why these three things are in the same PR. And I mean that in the following senses:
What exactly is now working, Xcode 12-wise?As I said above, I get the sense from this PR that there is a theme of “make the SDK work on Xcode 12”. But what does that mean? And what doesn’t it mean? There are quite a few things that one might reasonably expect to be included in a “make it work on Xcode 12” set of changes. For example:
I think that if there were a separate PR for the Xcode 12 changes, then that would give us a chance to explore which of these we have and haven’t done, and why. And hence tells reviewers which things have been accidentally missed and which things the PR submitter has deliberately left outstanding, so the reviewer knows where to focus their attention. A few other comments on commit structureI’m approaching the commit structure from a “how could this be more reviewable” point of view here.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(Leaving this comment so that the review request is marked as actioned. My above comment is my review, but I had to leave it as a normal comment because it was too long for a review comment.)
Thanks @lawrence-forooghian! 😁 I don't disagree with anything you've said. We will get better at this. |
Fixed channel detach spec for RTL5h
Fixes #1069.