Bugging user on the first run

Asked by Alex B

I have SUEnableAutomaticChecks=YES in Info.plist and Sparkle does checks for an update on the first run.
How can I change it as really want to check for an update since the second run but still want to have it turned on for automatic checks by default. Thanks.

Question information

Language:
English Edit question
Status:
Solved
For:
Sparkle Edit question
Assignee:
No assignee Edit question
Solved by:
Andy Matuschak
Solved:
Last query:
Last reply:
Revision history for this message
Hofman (cmhofman) said :
#1

You need to implement the delegate methods of SUUpdater, in particular -updaterShouldPromptForPermissionToCheckForUpdates:. You can return NO at the first launch and remember that you were asked once, and at the second launch call setAutomaticallyChecksForUpdates:YES, and return either YES or NO depending on whether you want to ask the user or not. And don't set the Info.plist key.

Revision history for this message
Andy Matuschak (andymatuschak) said :
#2

Sorry, I don't understand the question. What is Sparkle doing now? What do you want it to do instead?

Revision history for this message
Alex B (alex-belonosov) said :
#3

Andy, Sparkle checks for updates regardless if it's the first run or second or so on if SUEnableAutomaticChecks=YES in Info.plist. Comments for version 1.5 say the following: "Sparkle doesn't bug the user until second launch for better first impressions" which is actually a good idea. I thought Sparkle will not action until the second run in any way. I may be wrong though :) BTW if SUEnableAutomaticChecks is not set in Info.plist then the appearance of the dialog asking for "check for updates yes/no?" works ok, i.e. it appears only on the second run. But I do not want this dialog at all, just want full automatic updates but from the second run. That's why is set SUEnableAutomaticChecks=YES in Info.plist.
Actually I have solved the problem as needed even more complex behavior because of using a licensing mechanism. I had to play with delegate's methods but it's ok. I just thought it may be a bug in Sparkle regarding the above as I expected it to work differently as I said when SUEnableAutomaticChecks=YES.
Thank you for the great product by the way! Sparkle is great!

Revision history for this message
Best Andy Matuschak (andymatuschak) said :
#4

Unfortunately, Sparkle doesn't support waiting 'till second launch for forced checks. Which probably isn't very clear. It turned out that most developers who wanted to force update checks wanted to make sure users were running the newest version all the freaking time—even if that meant on first launch.

I'm glad you were able to solve the problem, though.

Revision history for this message
Alex B (alex-belonosov) said :
#5

Thanks Andy Matuschak, that solved my question.