AliSoftware / OHAlertView

UIAlertView subclass that uses blocks to handle its callback (which make the code much more easier and readable)
MIT License
16 stars 8 forks source link

iOS8 compatibility #3

Closed klefevre closed 9 years ago

klefevre commented 10 years ago

Hi, have you considered to port OHAlertView on iOS8 ? If yes, do you have a plan to achieve that goal ? Otherwise, should we think about use an other solution ?

Since UIAlertView is now deprecated for UIAlertController... Have you an idea how to make OHAlertView (and OHActionSheet) fully compatible with iOS8 ?

Regards, KL

AliSoftware commented 10 years ago

Hello @klefevre

Thanks for the feedback. I'll definitely have to investigate the behavior of OHAlertView on iOS8.

I've tested it on beta versions of iOS8 during the summer but Apple's own UIAlertView itself had issues during the beta so I have been waiting for the GM to make sure the issues with OHAlertView were not caused by UIAlertView instability itself.

Unfortunately, now that the GM is out it seems that those issues remain, and I haven't had the time to investigate them yet, but that's definitely in my roadmap, to make OHAlertView at least compatible with iOS8.


Concerning the port to UIAlertController, I haven't decided yet if I will deprecate OHAlertView as UIAlertView it itself deprecated, and ask users to consider UIAlertController instead, or if I'll try and refactor OHAlertView to use UIAlertController on iOS8 (and keep using UIAlertView on earlier iOS version).

Considering that OHAlertView inherits from UIAlertView, this would mean quite some refactor, and I'm not sure it would be actually useful, as OHAlertView was initially created to add blocks API that were missing on UIAlertView, but UIAlertController does now provide a way to specify a block per action (which is actually better and more flexible), so OHAlertView does not seem to be necessary anymore, except for the transition period.

(See also OHActionSheet#5)

klefevre commented 10 years ago

Thanks for your answer, I actually worked onff a tiny NSObject wrapper that use UIAlertController on iOS8 and OHAlertView on previous version.

I agree with you when you are saying OHAlertView won't anymore be necessary after a certain time. But I think, a lot of developers will continue to support iOS7, at least, for this year...

I might create a pull request if you think it can be useful. Tell me...

Regards,

AliSoftware commented 10 years ago

I think I'll refactor OHAlertView to be a subclass of NSObject now (instead of a subclass of UIAlertView) even if it will keep the same methods/API, so it would internally use an UIAlertView in iOS7 and below and an UIAlertPresenter in iOS8 and later.

Will work on that refactoring and keep you posted.

michaelochs commented 10 years ago

refactoring OHAlertView to have a different base object would break a lot of code, I would guess. What are the issues with iOS8 and this class? On my devices the alert view is working as expected, as far as I can tell?

AliSoftware commented 9 years ago

Maybe see also AliSoftware/OHActionSheet#5

klefevre commented 9 years ago

There is no error at runtime but UIAlertView is deprecated right now that was the point of this "issue". I assume I can close it.

AliSoftware commented 9 years ago

I plan for some month now to make a major version that refactor OHAlertView to use UIAlertController when available (and fallback to UIAlertView if not), but I've been very busy with my work on CocoaPods source code lately so I never got time for this :disappointed: But will definitely do it one day!

AliSoftware commented 9 years ago

Was about time, but 3.0.0 is out with UIAlertController support (and still using UIAlertView if you are targeting iOS < 8.0)