fix(build): обезвредить Sparkle, чтобы LOCAL_BUILD не подменялся официальным VoiceInk - #1
Open
CatBoneheaD wants to merge 1 commit into
Open
Conversation
…иальным VoiceInk Релизная сборка MyInk — LOCAL_BUILD (лицензия всегда активна), но в Info.plist оставался Sparkle с SUFeedURL на официальный канал VoiceInk (https://beingpax.github.io/VoiceInk/appcast.xml) и SUEnableAutomaticChecks=true. При первом запуске Sparkle молча скачивал «обновление» и ПОЛНОСТЬЮ заменял LOCAL_BUILD на официальный нотаризованный VoiceInk (Team V6J6A3VWY2) с реальным триалом — у пользователя снова появлялась строка «Your trial has expired…». rebuild.sh теперь перед подписью прогоняет neutralize_sparkle над собранным .app: удаляет SUFeedURL и выключает SUEnableAutomaticChecks / SUAutomaticallyUpdate / SUEnableInstallerLauncherService / SUScheduledCheckInterval. sign_app затем заново запечатывает изменённый Info.plist. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Проблема
Релизная сборка MyInk — это LOCAL_BUILD (лицензия всегда активна, триала нет). Но в
Info.plistостаётся Sparkle, нацеленный на официальный канал обновлений VoiceInk:SUFeedURL = https://beingpax.github.io/VoiceInk/appcast.xmlSUEnableAutomaticChecks = trueПри первом запуске Sparkle молча скачивает «обновление» и полностью заменяет наш LOCAL_BUILD на официальный нотаризованный VoiceInk (Team
V6J6A3VWY2) с реальным триалом. У пользователя снова появляется дописываемая к каждой диктовке строка:То есть LOCAL_BUILD-фикс живёт ровно до первой проверки обновлений.
Как отличить подменённую установку
Contents/MacOS/VoiceInk(~58 КБ) +VoiceInk.debug.dylib(~55 МБ)VoiceInk~19 МБ (fat)TeamIdentifier=not setTeamIdentifier=V6J6A3VWY2Фикс
rebuild.shтеперь перед подписью прогоняетneutralize_sparkleнад собранным.app: удаляетSUFeedURLи выключаетSUEnableAutomaticChecks/SUAutomaticallyUpdate/SUEnableInstallerLauncherService/SUScheduledCheckInterval.sign_appзатем заново запечатывает изменённыйInfo.plist, так что подпись остаётся валидной.Если в будущем захочется оставить обновления — можно завести собственный appcast в этом репозитории и прописать его в
SUFeedURLвместо официального канала VoiceInk.🤖 Generated with Claude Code