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

removal of problematic iOS examples #7601

Merged
merged 1 commit into from
Aug 28, 2023

Conversation

artificiel
Copy link
Contributor

about iOS #7458 and #7457 (which i've authored as the "residue" of a crunch in the iOS issues) the examples in question are not necessarily crucial, enlightening nor super up-to-date in terms of their "iOS-best-pratice" design (which the "native" examples attempt to follow).

They can simply be removed, and eventually be replaced by a single example that builds on modern features. The iOS examples are otherwise plentiful and nothing prevents learning enough to pull apps together.

@danoli3 mentions #7457 (comment) the possibility of disabling arc on some components; that's OK to strong-arm old code, but needing to tweak the .xcodeproj after the PG generation does note make a good "example"...

so this "closes" #7458 and #7457

@artificiel artificiel mentioned this pull request Aug 18, 2023
77 tasks
@danoli3
Copy link
Member

danoli3 commented Aug 22, 2023

I think the native examples breaking just shows there is something deeper wrong.
Thanks for this PR though.

I am able to create the same crashes in normal iOS examples when using non-arc components / external libraries just included in the project.

iOS Video Player crashes for example on init. I've had to revert those changes into non-arc and tag the project files.
So a cross non/yes arc system is likely the cause of the crashes in these native examples

Will look into this more soon

@artificiel
Copy link
Contributor Author

I guess my point is that it's not useful to carry broken examples, and that these "native" examples are attempting to do rather complicated things, with an old(er) approach (for instance the .xibs are not really state-of-the-art in terms of rules etc).

of course it would be great to have these more complex demos work properly, but it's not a trivial affair to bring these projects into an up-to-date, ARC-friendly, easy-to-follow state (as examples should be). considering there are higher priorities I don't see the harm in stashing the problematic examples (to that effect I'd add the moviePlayerExample to the list of removed examples; maybe there are others; that one was not on the problem list when I went through the broken examples earlier this year).

in all cases, a single, well-designed storyboard-based example that adapts correctly to different screen size and rotation (which is still not really smooth) with some native iOS controls would be better than a bunch of disparate ones. but of course building/maintaining such an app is a significant time investment.

in the meantime, in a simpler spirit and as a "constructive example" that focuses on a single feature, I've made a simpleMovieExample #7608 that simply loads and plays a movie — I had to add a _retain to the bridge + release at close() — not sure if it's the ideal memory mgmt pattern but the video shows up and runs and unloads without a crash.

@ofTheo
Copy link
Member

ofTheo commented Aug 25, 2023

I think removing the outdated examples is a good idea, but it would be worth fixing the ones that aren't out of date but just need ARC fixes.

Currently our plan is to release 0.12.0 with no Android and iOS sort of as is.
Then focus on Android and iOS for 0.12.1 ( with @danoli3 apothecary fixes and iOS libs going to -> xcframework so we can get simulator builds working again ).

So maybe do you want to update this PR to remove just the outdated examples?

Thanks!!

@artificiel
Copy link
Contributor Author

as far as I'm concerned the 5 removed examples removed herein count as "outdated"... in addition I would also remove the moviePlayerExample (complicated .xib GUI) as the new simpleMoviePlayer demonstrates the movie playback function.

@ofTheo ofTheo merged commit 478620f into openframeworks:master Aug 28, 2023
@artificiel artificiel deleted the legacy-iOS branch August 29, 2023 03: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.

4 participants