Como Criar sua Própria Source do AltStore ou SideStore
Uma source (fonte) de AltStore ou SideStore é o link que faz seus apps aparecerem dentro dessas lojas. Este guia mostra como criar uma a partir da própria documentação de desenvolvedores do AltStore, que o SideStore também segue. Última verificação: 28 de outubro de 2026, com base nas páginas Make a Source, Updating Apps, Distribute with AltStore Classic e AltSource CLI do AltStore, e na página App Sources do SideStore.
Os riscos primeiro
- Uma source apenas lista apps. Os arquivos IPA para os quais ela aponta são o que de fato é instalado, então liste apenas apps que você mesmo criou ou que tem permissão para compartilhar. Reenviar apps pagos de outras pessoas é violação de direitos autorais.
- Qualquer pessoa que consiga editar seu arquivo JSON ou seus links de download pode alterar o que seus usuários instalam. Use uma conta com autenticação de dois fatores no host e não aponte para arquivos IPA em servidores que você não controla.
- Seus usuários ainda instalam com o próprio Apple ID, então os limites da conta gratuita se aplicam a eles: 3 apps por vez e uma assinatura de 7 dias.
- O AltStore verifica permissões. A documentação diz que ele “vai recusar a instalação de qualquer app cujas permissões não correspondam” ao que a source lista, então uma listagem incompleta quebra as instalações.
O que é uma source
A documentação do AltStore descreve uma source como “apenas um arquivo JSON auto-hospedado contendo metadados básicos sobre seus apps”. Você coloca o arquivo em qualquer host web que o sirva em uma URL HTTPS estável, coloca seus arquivos IPA online ao lado dele e compartilha a URL. Várias sources da nossa lista de sources de AltStore e SideStore estão hospedadas no GitHub Pages ou como arquivo raw em um repositório do GitHub.
A página App Sources do SideStore diz que o SideStore “é totalmente compatível com AltStore Sources (ou AltSources)” e aponta para a documentação do AltStore para o formato. Um único arquivo de source, portanto, cobre as duas lojas, desde que você o crie para o AltStore Classic (veja a observação sobre PAL abaixo).
Isso não é um arquivo sources.list. Esse formato é para gerenciadores de pacotes de jailbreak, como Cydia e Sileo, e não funciona no AltStore ou SideStore.
O arquivo de fonte mínimo
Na documentação do AltStore, as chaves no nível de fonte que não são marcadas como opcionais são name, nsfw, apps e news. Esta é uma estrutura pequena e funcional para um app, construída a partir dos exemplos da documentação do AltStore:
{
"name": "My Example Source",
"subtitle": "A source for all of my apps",
"iconURL": "https://example.com/source_icon.png",
"website": "https://example.com",
"nsfw": false,
"apps": [
{
"name": "My Example App",
"bundleIdentifier": "com.example.myapp",
"developerName": "Example Developer",
"localizedDescription": "What the app does.",
"iconURL": "https://example.com/myapp_icon.png",
"versions": [
{
"version": "1.0",
"buildVersion": "1",
"date": "2026-10-28",
"downloadURL": "https://example.com/myapp-1.0.ipa",
"size": 79821,
"minOSVersion": "14.0"
}
],
"appPermissions": {
"entitlements": [],
"privacy": {}
}
}
],
"news": []
}
As chaves mais importantes
| Chave | O que a documentação do AltStore diz sobre ela |
|---|---|
bundleIdentifier |
Precisa corresponder exatamente ao CFBundleIdentifier no Info.plist do app, e diferencia maiúsculas de minúsculas. Uma fonte não pode listar dois apps com o mesmo identificador. |
version e buildVersion |
Precisam corresponder ao CFBundleShortVersionString e ao CFBundleVersion no Info.plist. |
downloadURL |
Para o AltStore Classic, a URL do arquivo .ipa enviado. |
size |
O tamanho do app em bytes, exibido aos usuários na página da loja. |
date |
A data de lançamento no formato ISO 8601, por exemplo 2026-10-28. |
minOSVersion / maxOSVersion |
Opcional. O AltStore oculta atualizações que o dispositivo não consegue executar. A documentação alerta que a maioria dos apps não deveria definir um máximo. |
appPermissions |
Todas as entitlements e todas as chaves de privacidade “UsageDescription” presentes no app. O AltStore as compara com o IPA baixado. |
marketplaceID |
Apenas para apps notarizados do AltStore PAL. Não é necessário para o AltStore Classic. |
category |
Opcional. Uma entre developer, entertainment, games, lifestyle, other, photo-video, social ou utilities. |
Para ler os valores do Info.plist de um IPA que você criou, renomeie uma cópia para .zip, abra Payload/YourApp.app/Info.plist e copie os três valores acima. Se você ainda precisar do IPA em si, veja como criar seu próprio arquivo IPA.
Passo a passo
- Compile seu app e exporte o arquivo .ipa.
- Envie o .ipa para um host que você controla e copie a URL de download direto.
- Escreva o arquivo JSON, ou baixe o exemplo de fonte do AltStore para o AltStore Classic na página Make a Source e edite-o.
- Preencha os valores do Info.plist, o tamanho em bytes e a lista completa de permissões.
- Envie o arquivo JSON e abra sua URL em um navegador para verificar se ele carrega como JSON puro.
- Adicione a URL no AltStore ou SideStore e teste uma instalação em um dispositivo real antes de compartilhar o link.
Ferramentas que preenchem isso para você
- altsource (AltServer para macOS). A documentação do AltStore diz que o AltServer para macOS inclui uma ferramenta de linha de comando em beta em
AltServer.app/Contents/MacOS/altsource. Oaltsource new --ipacria uma source a partir de um IPA, e oaltsource updateadiciona um app ou uma nova versão. - AltPublisher. A documentação do AltStore menciona essa ferramenta como uma “ferramenta construída pela comunidade” para gerar uma source.
- AltStudio e AltSource Browser. A documentação do SideStore lista essas ferramentas da comunidade. Elas avisam que, depois que o AltStudio cria uma source, você precisa remover os campos
marketplaceIDe Build gerados automaticamente, “caso contrário, o SideStore vai acreditar que se trata de uma source notarizada e vai impedir que sua source seja adicionada”.
As ferramentas da comunidade não são feitas pelo AltStore nem pelo SideStore. Verifique o JSON que elas produzem antes de publicá-lo.
Publicando atualizações
Para lançar uma nova versão, envie o novo IPA e adicione uma nova entrada no início da lista versions do app. A página sobre Atualização de Apps do AltStore diz que ele compara a primeira entrada com a versão instalada e “não usa datas para determinar se há uma versão mais recente”. Cada entrada precisa de um version ou buildVersion diferente. Os usuários ainda precisam instalar a atualização por conta própria, o que nosso guia sobre atualização de apps sideloaded explica.
Compartilhando sua source
A documentação do SideStore traz um formato de link de um toque: sidestore://source?url= seguido da URL da sua source. Ela observa que o link trava se o SideStore não estiver instalado, então também forneça às pessoas a URL simples para colar na aba Sources.
Uma observação sobre o AltStore PAL
O AltStore PAL, a versão para a UE, usa apps notarizados no formato ADP da Apple e precisa de um marketplaceID e uma URL de manifesto em vez de um link de IPA simples. Isso exige uma conta de desenvolvedor Apple registrada e a notarização da Apple, então é um trabalho diferente de uma source de sideloading. O SideStore não vai adicionar uma source notarizada. Se você está compartilhando arquivos IPA, construa para o AltStore Classic.
Perguntas frequentes
Posso hospedar uma source no GitHub?
Sim. Uma source é um arquivo JSON estático. O GitHub Pages e arquivos brutos em um repositório servem esse arquivo, e várias sources públicas funcionam dessa forma.
Por que o AltStore recusa instalar um app do meu source?
A causa mais comum segundo a documentação é uma incompatibilidade de permissões: a lista appPermissions precisa incluir todos os entitlements e todas as chaves de privacidade usadas pelo IPA. Um bundleIdentifier errado ou uma string de versão incorreta também causam problemas.
Por que meus usuários não veem a atualização?
Provavelmente a nova versão não está em primeiro lugar na lista versions, tem a mesma versão e build da anterior, ou o minOSVersion dela é maior que a versão de iOS deles.
O Scarlet pode usar meu source do AltStore?
O Scarlet usa seu próprio formato de repositório e assina apps com um certificado empresarial compartilhado, então é um sistema separado. Veja nosso guia de bibliotecas e repositórios de IPA. O Scarlet é confirmado no iOS 14 até o iOS 26; o suporte ao iOS 27 é relatado por terceiros, mas não foi confirmado oficialmente.