Skip to content
This repository has been archived by the owner on Aug 14, 2021. It is now read-only.

iOS implementation #20

Closed
yashwp opened this issue Sep 21, 2020 · 17 comments
Closed

iOS implementation #20

yashwp opened this issue Sep 21, 2020 · 17 comments

Comments

@yashwp
Copy link
Contributor

yashwp commented Sep 21, 2020

Hi,

I would like to know, when can we see the support for the iOS platform as well?

Thanks.

@azhar1038
Copy link
Owner

For that I will need a MacBook, knowledge in swift and ios app development. If you send me a MacBook, I will probably need 1 month to make it work in ios! Just kidding 🤣.

Anyway, I am adding help tag and if you want feel free to send a PR!

@azhar1038 azhar1038 added the help wanted Extra attention is needed label Sep 21, 2020
@azhar1038 azhar1038 pinned this issue Sep 21, 2020
@azhar1038
Copy link
Owner

I did a quick research about intent calls in ios. It doesn't look promising. I don't know if it's even possible or not because this plugin is all about intents.

Anyway I have zero experience of working with ios, so can't say anything for sure. Maybe you can check if any other upi plugin supports ios.

@yashwp
Copy link
Contributor Author

yashwp commented Sep 22, 2020

@mdazharuddin1011999 Same with me, no Apple device or experience with iOS development.

@azhar1038 azhar1038 unpinned this issue Sep 25, 2020
@azhar1038 azhar1038 pinned this issue Sep 25, 2020
@reeteshranjan
Copy link

reeteshranjan commented Sep 29, 2020

I worked with upi_pay package (https://github.com/drenther/upi_pay) developers on this as well as expanding overall support to what is a very wide spectrum of UPI payment apps. I chose that package as their maintenance seemed to be active (based on how recent their last release was). However; I'm more than happy to help each UPI package if their main developers have time and interest to keep working on continuously upgrading their project. So sharing details of work I did with upi_pay developers.

Feel free to look at these and let me know if you find it useful and worth integrating:

drenther/upi_pay#15
drenther/upi_pay#2
https://github.com/reeteshranjan/upi_pay (my fork of upi_pay with all the work I did committed)

@azhar1038
Copy link
Owner

azhar1038 commented Sep 29, 2020

Thanks for the information. I will look into the resources you have provided!

@azhar1038
Copy link
Owner

Wow! It seems you did quite a deep research. For now I will be focusing on integration of more UPI apps and keep iOS for later. I would be happy if you could help me in this.

@yashwp
Copy link
Contributor Author

yashwp commented Oct 5, 2020

@reeteshranjan I would say, you can contribute here with iOS integration.

@reeteshranjan
Copy link

@reeteshranjan I would say, you can contribute here with iOS integration.

I will. Been hectic unexpectedly and soon will contribute pull requests.

@reeteshranjan
Copy link

Wow! It seems you did quite a deep research. For now I will be focusing on integration of more UPI apps and keep iOS for later. I would be happy if you could help me in this.

Pull requests soon

@azhar1038 azhar1038 unpinned this issue Oct 23, 2020
@azhar1038 azhar1038 removed the help wanted Extra attention is needed label Oct 23, 2020
@reeteshranjan
Copy link

Please look at drenther/upi_pay#17

@azhar1038
Copy link
Owner

Nice! But sadly I still have no means to test iOS stuff : (

@reeteshranjan
Copy link

Then you can go with my testing, if that makes sense.😊

I'm testing on iPhone 7 with iOS 14.x. With minimum iOS versions required for UPI moving upward all the time (my earlier iPhone 6 that won't upgrade beyond a certain iOS version blocked me from testing several apps that would just bail out on that phone), I guess iPhone 7 + iOS 14.x is the lowest combination to safely make UPI work anyway.

@azhar1038
Copy link
Owner

That would be great, thanks!

From what I understood, iOS will randomly call any available upi app for carrying out the payment. I don't know much about iOS but is this the default behaviour? I mean what if you have multiple browsers installed and you click on any link? Will it randomly choose any available browser to open the link?

@reeteshranjan
Copy link

That would be great, thanks!

From what I understood, iOS will randomly call any available upi app for carrying out the payment. I don't know much about iOS but is this the default behaviour? I mean what if you have multiple browsers installed and you click on any link? Will it randomly choose any available browser to open the link?

Yes.

However; for the case of UPI apps, it's not completely random. Observation shows that iOS picks the oldest installed app. In all the testing so far, I see this behaviour consistently. I have properly highlighted this behaviour in the README, and every other important detail of how things work differently across Android and iOS.

About browsers, there is 'default browser' concept on Mac and iOS. That's picked. That one is not random at all.

@azhar1038
Copy link
Owner

Man! Learning iOS app development will be a hell lot difficult, I guess 😭

@reeteshranjan
Copy link

Man! Learning iOS app development will be a hell lot difficult, I guess 😭

As difficult or easy as any other thing really. Everything comes with its pros and cons. For example, take your work on Android 11 break. That security aspect that you have to declare every app you want to call is there in iOS 8 onward (today it's iOS 14). Once you go through developing with that kind of framework, it makes you more aware about security and privacy. At the same time, not many will be happy with the Objective C syntax and the length of the code developed with it!! Swift has relaxed many iOS developers. The list of pros and cons just goes on.

@azhar1038
Copy link
Owner

True.

Actually according to docs there is no need of adding all apps in the manifest if you just declare the scheme but it didn't work, so I just added them.

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

No branches or pull requests

3 participants