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

[4.0] [iOS] Switch to ARC. Refactoring and cleanup. #42503

Merged
merged 2 commits into from
Oct 2, 2020

Conversation

naithar
Copy link
Contributor

@naithar naithar commented Oct 2, 2020

Enabled ARC usage to remove requirement to use retain/release.
This should make it easier to update and support iOS platform code. This should also remove potential leaks and crash coming from forgotten/missed or overused retain/release calls.

I've also removed some commented old code as suggested in #42459.
But I've left the commented code with iOS 10 functions for a time being as MoltenVK actually supports iOS 9 and it could probably be enabled after some more testing.

DPI and Native video got separate classes with their specific functionality for simplify their support.

I've tested this PR on my iPhone XS with the same project that I had when porting Vulkan. Everything seems okay, but I guess some more testing is needed.

Could probably conflict with #40766, but I'm not sure.

Enabled ARC for iOS.
Weakify/Strongify macros for objc blocks.
Removed old version checks.
Specific types for ObjC++ modules to exclude unneeded bridging.
Separate DeviceMetrics class for device specific data.
Replaced old/deprecated functionality.
Moved native video handling to separate view.
@akien-mga akien-mga merged commit 0d07a93 into godotengine:master Oct 2, 2020
@akien-mga
Copy link
Member

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants