smaho-engineering / esptouch_flutter

ESP-Touch Dart API for Flutter. Platform-specific implementation for Android (Java) and iOS (Objective-C).
https://pub.dev/packages/esptouch_flutter
MIT License
100 stars 34 forks source link

Cannot pair new device on iOS 16 #37

Closed nguyen703 closed 1 year ago

nguyen703 commented 1 year ago

I tried to connect with different devices running iOS < 16 and it worked very well. But it could not match my iPhone XS Max and iPhone XS that have updated to iOS 16.

It would be great if you guys can release an update for iOS 16. Thank you a lot.

max-koehler commented 1 year ago

@nguyen703 as mentioned in other issues, we are happy to help with contributions in PRs and otherwise. Currently, we can't say for sure when we will work on iOS16 compatibility.

danilomna commented 1 year ago

@max-koehler this lib is awesome, your work is great. Are there any chance you guys update to iOS16 compatibility? The situation became critical now that many users updated their iOS to 16.0.2 Nothing is working anymore.

max-koehler commented 1 year ago

@danilomna we aren't working actively on iOS 16 compatibility. Would you be up to contribute a PR with the required changes?

danilomna commented 1 year ago

@max-koehler could I make a donation or sponsor to have this done? Are the any way?

max-koehler commented 1 year ago

@danilomna what I meant was to upgrade the library to iOS16 yourself and contributing the changes in a pull request. We are happy to help wherever we can, but we can't commit resources to the upgrade ourselves at the moment. Therefore, a donation/sponsoring of any sort wouldn't help either.

danilomna commented 1 year ago

@max-koehler oh, now I understood. I really wish I could contribute. But I simply dont have enough knowledge and experience to do such thing, this is for pro devs like you guys. Best I can do would be pay for your time fixing this.

max-koehler commented 1 year ago

@danilomna unfortunately I don't have an option to speed things up at the moment. Internally, we're slowly switching to a different Wi-Fi setup approach, which is why ESP Touch isn't our highest priority any more. Having said that, for backwards compatibility we might need to upgrade it in the foreseeable future, I just can't say for sure when.

For what product do you use the library, if you don't mind me asking?

danilomna commented 1 year ago

@max-koehler I understand your point. It is a pity, the lib was very usefull. Due to my lack of knowledge I have now idea where is the problem, but I wonder if maybe would be something simple to fix that could be catch by an expert dev eyes.

I use the lib in a flutter app project to config wifi devices. The app just do simple thinks like turn lamp on off, open gates.

danilomna commented 1 year ago

@max-koehler @nguyen703

seems the issue is not related to iOS 16 but just due to missing of multicast entitlement enable.

until iOS <16 I never had any issue so I never really enabled this. (I published many app versions with no issue). just now after update iPhone to iOS 16.0.2 it stopped work.

So today I tried enable multicast entitlement, followed the full procedure and double checked if all was updated.

Done, all working again, that is awesome.

Thanks for prompt reply, for time and patience.

ps. sorry bother you asking for lib update.

nguyen703 commented 1 year ago
Screen Shot 2022-09-30 at 02 31 28

@danilomna I did select the Multicast Networking but I couldn't find that option when Adding new capabilities. Could you please explain how you enabled the above entitlement?

Thank you a lot for the solution.

danilomna commented 1 year ago
Screen Shot 2022-09-30 at 02 31 28

@danilomna I did select the Multicast Networking but I couldn't find that option when Adding new capabilities. Could you please explain how you enabled the above entitlement?

Thank you a lot for the solution.

hi @nguyen703,

In order to enable the multicast entitlement, do the following:

open you project in Xcode. then open the .entitlement file. add the highlighted line to file as shown in picture bellow:

image

save file, close file. build the project and run in on a real iPhone device (not emulator). it is done

ducnguyenenterprise commented 1 year ago

@danilomna Thank you so much for figuring it out. But we've discovered this issue since iOS 14.6 and have it documented here. So I just want to make sure that your app still work without multicast enabled in ios 14.x, 15.x ?

danilomna commented 1 year ago

@danilomna Thank you so much for figuring it out. But we've discovered this issue since iOS 14.6 and have it documented here. So I just want to make sure that your app still work without multicast enabled in ios 14.x, 15.x ?

@ducnguyenenterprise yes, my apps are still working without multicast enabled in iOS 15.x. I have two other iPhones for app testing, both with iOS 15.x and they still work fine for some reason. The issue just show up when I updated the the iPhone to iOS16.0.2.

ducnguyenenterprise commented 1 year ago

Interesting, thanks for that, we now know that the problem is not on the lib itself and don't need further investigation. So @nguyen703 , you can close this issue after retesting your app with multicast enabled.

nguyen703 commented 1 year ago

@danilomna @ducnguyenenterprise

Hi, I really appreciate your contribution. Once I finish testing all my devices with the entitlement enabled, I will close this issue. Thanks a lot 😁

Have a nice day!