Purus / launch_review

A Flutter plugin to assist in leaving user reviews/ratings in the Google Play Store. Supports both Android and iOS.
https://pub.dartlang.org/packages/launch_review
MIT License
178 stars 117 forks source link

Plugin does not work on iOS Simulator #16

Open angel1st opened 4 years ago

angel1st commented 4 years ago

Hi there, I used to successfully integrated the plugin under Android app. Now, I am preparing the same app to run under iOS. I already have iOS appId and the app is even published on App Store. Since I do not have an iPhone, I try to test if the plugin works on iOS Simulator (I use Mojave 10.14.6) and Simulator runs iOS 13 (iPhone 11 Pro Max). I have added to Info.plist the required record as described in the Readme file. I tried to call LaunchReview.launch(iOSAppId: "14********"); and then LaunchReview.launch(iOSAppId: "14********", writeReview: false); but neither seems to do anything - basically nothing happens. Is it possible to test the plugin on Simulator and if yes, what might be that I did wrong?

Purus commented 4 years ago

The iOS support was added by other helpful contributors. As i dont have any Mac products i cant help on this. Other iOS users can help you on this.

On Tue, 12 Nov, 2019, 4:43 PM Angel, notifications@github.com wrote:

Hi there, I used to successfully integrated the plugin under Android app. Now, I am preparing the same app to run under iOS. I already have iOS appId and the app is even published on App Store. Since I do not have an iPhone, I try to test if the plugin works on iOS Simulator (I use Mojave 10.14.6) and Simulator runs iOS 13 (iPhone 11 Pro Max). I have added to Info.plist the required record as described in the Readme file. I tried to call LaunchReview.launch(iOSAppId: "14****"); and then LaunchReview.launch(iOSAppId: "14****", writeReview: false); but neither seems to do anything - basically nothing happens. Is it possible to test the plugin on Simulator and if yes, what might be that I did wrong?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/Purus/launch_review/issues/16?email_source=notifications&email_token=AAIHDZYIQR76CQY7MUHOP2LQTKFVLA5CNFSM4JMB663KYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HYVHZIA, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAIHDZ4SWN3MRHFXPWMKJYDQTKFVLANCNFSM4JMB663A .

KaYBlitZ commented 4 years ago

If I recall correctly, this will not work on the simulator; an error is thrown. It has to run on a physical device. Someone can correct me if I am wrong.

On Tue, Nov 12, 2019, 6:42 AM Purusothaman Ramanujam < notifications@github.com> wrote:

The iOS support was added by other helpful contributors. As i dont have any Mac products i cant help on this. Other iOS users can help you on this.

On Tue, 12 Nov, 2019, 4:43 PM Angel, notifications@github.com wrote:

Hi there, I used to successfully integrated the plugin under Android app. Now, I am preparing the same app to run under iOS. I already have iOS appId and the app is even published on App Store. Since I do not have an iPhone, I try to test if the plugin works on iOS Simulator (I use Mojave 10.14.6) and Simulator runs iOS 13 (iPhone 11 Pro Max). I have added to Info.plist the required record as described in the Readme file. I tried to call LaunchReview.launch(iOSAppId: "14****"); and then LaunchReview.launch(iOSAppId: "14****", writeReview: false); but neither seems to do anything - basically nothing happens. Is it possible to test the plugin on Simulator and if yes, what might be that I did wrong?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub < https://github.com/Purus/launch_review/issues/16?email_source=notifications&email_token=AAIHDZYIQR76CQY7MUHOP2LQTKFVLA5CNFSM4JMB663KYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HYVHZIA , or unsubscribe < https://github.com/notifications/unsubscribe-auth/AAIHDZ4SWN3MRHFXPWMKJYDQTKFVLANCNFSM4JMB663A

.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/Purus/launch_review/issues/16?email_source=notifications&email_token=ABJ6STVK67ZUH7MDHMUCZTLQTKJDXA5CNFSM4JMB663KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDZ7KZA#issuecomment-552858980, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJ6STUW7XUDNAII7RYJRVLQTKJDXANCNFSM4JMB663A .

angel1st commented 4 years ago

Well in my case, when the iosAppId is correct one, I don't have even an exception, so I guess, the only way to see if it works correctly is on real device?

KaYBlitZ commented 4 years ago

That seems to be the case. I looked at the code and there is now a check:

if ([[UIApplication sharedApplication] canOpenURL:itunesURL]) {
     [[UIApplication sharedApplication] openURL:itunesURL];
}

Since there is now a canOpenURL check, an error is not thrown. Looks like emulators cannot open an iTunes link. On physical device, this will work.

thivankasarathchandra commented 4 years ago

@KaYBlitZ is correct. IOS simulators does not contain itunes. So it should throw an error. in source code, itms-apps: code is used to launch the itunes and proceed to corresponding app page. So this is not a bug in the plugin.It might give an error of "address is invalid" or something. Please check the app on a real device.

emilysmithson commented 4 years ago

I have found it doesn't work on the simulator however it does work on the real device.

M1Joe commented 3 years ago

we can probably close this ticket, right? Might I suggest that we print a console command if we can detect that we're running on the similar that says "don't worry, this will work on a real device?"