nicklockwood / iVersion

[DEPRECATED]
http://www.charcoaldesign.co.uk/source/cocoa#iversion
Other
1.95k stars 292 forks source link

remoteVersionsPlistURL incorrectly ignored - or setup failure #94

Closed zapjonny closed 6 years ago

zapjonny commented 6 years ago

I'm not sure what's wrong here but we have this situation:

All users have 1.0.3

1.0.4 went live yesterday

We use remoteVersionsPlistURL

We set the remote plist to return 1.0.4 ...

On Appstore builds the remoteVersionsPlistURL is ignored. It always checks the iTunes URL... which for some reason seems to return 1.0.3 (even though manually looking at it, it kind of looks as 1.0.4 is there, although I'll admit I haven't looked at that file before and am not sure if iVersion successfully parses it)

So as I said, remoteVersionsPlistURL is completely ignored on appstore builds. This works on debug builds. Is there a way to force ignore iTunes version information and force use of remoteVersionsPlistURL?

zapjonny commented 6 years ago

So basically we don't ever want iVersion to check iTunes. We handle the versioning.

nicklockwood commented 6 years ago

If the remoteVersionsPlist is set then iVersion will always use it. You say it's workingon debug - does it also work if you run a releasw buils locally?

zapjonny commented 6 years ago

No it always checks iTunes first. (Ok I will test a release build locally to make sure) Tested release build - it just checked iTunes and did not find a newer version. iTunes API version still stale at 1.0.3 - about 16 hours from app going live.

I looked at the source code, it seems like iVersion is designed to always look at iTunes first, only if that fails fallback to the remoteVersionsPlist. I misunderstood this, I thought remoteVersionsPlist would completely override iTunes.

Yes it did work as I thought it would when I ran this with a debug app. This app was a dummy inhouse app just for testing, aka enterprise app with a different bundle id, obviously not existing in iTunes or even iTunes Connect. This app would always fail to find itself on iTunes and always fall back to the remoteVersionsPlist which let us control finely what version to require. The iTunes API version has still to update itself for iPhones, granted we've only been waiting around 12 hours yet.

zapjonny commented 6 years ago

I'll close this. Checking beyond 24 hours I could confirm that everything indeed worked in the end. It surely always checks iTunes first, but gets a final decision if update should be required or not from the remote plist.