Dentro de um ou dois dias, estarei pronto para enviar meu aplicativo para iPhone à AppStore e estou curioso para saber se as pessoas que passaram por esse processo têm dicas / sugestões para um processo de envio tranquilo.
Aqui estão as coisas que eu cobri;
- Sem vazamentos de memória
- Desempenho testado em um dispositivo real
- Não trava :)
- Usando certificados / perfil corretos
Estou um pouco inseguro sobre como configurar o "Nome para exibição do pacote" / "Identificador do pacote" e o "Nome do pacote" em info.plist. Entendo que o primeiro é o texto mostrado no próprio iPhone, mas e o último? Isso precisa corresponder ao Identificador de pacote?
Existem outras coisas que devo adicionar ao info.plist? Percebi que, quando criado para a distribuição Adhoc, meu aplicativo não possui nenhuma informação de autor / título no iTunes.
Respostas:
Primeiro, não se preocupe com as informações ausentes do autor / título (e ícone) no iTunes. São os metadados que chegam quando você distribui usando a App Store.
Seu identificador de pacote, como diz a sascha, deve ser exclusivo e geralmente é o seu domínio ao contrário. Isso precisa corresponder ao ID do aplicativo que você criou no Portal do desenvolvedor.
O nome para exibição (CFBundleDisplayName) é como aparece na tela inicial. Uma coisa importante que descobri sobre isso é que ele pode ser localizado; portanto, se seu aplicativo for chamado "Cerveja" em inglês, ele poderá ser exibido como "Birra" em italiano e "Bier" em alemão.
O material mecânico, desde que você siga as instruções, é realmente bastante direto. Eu descobri que a chave está sendo preparada. Basicamente, você não recebe nenhum aviso antes que seu aplicativo seja publicado, e o processo de revisão pode demorar de algumas horas a algumas semanas. Certifique-se de ter um site em funcionamento e a capacidade de aceitar (e fornecer) comentários. Acabei de usar o Blogger.
A menos que seu aplicativo é trivial no mundo real irá encontrar problemas que você não antecipou e seus usuários infelizes será sempre o mais vocal, então você precisa a capacidade de responder!
Meu aplicativo é gostoso , a propósito.
fonte
Certifique-se de ter um traje à prova de chamas para lidar com todos os revisores retardados que dão notas ruins sem experimentar o aplicativo ou ler a descrição do que deve fazer.
Fui marcado por não fazer coisas que minha descrição diz que não faz.
O processo de revisão, e a incapacidade de realmente responder, é enlouquecedor.
fonte
Ao enviar um aplicativo, defina o número da versão corretamente no arquivo info.plist - Ao atualizar um aplicativo, você deve aumentar o número da versão. Você pode usar a notação xx ou xxx. (Esqueci de atualizá-lo na minha primeira atualização de aplicativo). Não que seja difícil atualizar e recompilar, mas é algo que se esquece com facilidade.
Eu concordo com Hunter também. Você receberá críticas negativas. Está certo. Eles são idiotas. Seu aplicativo é ótimo.
Se você tiver problemas com certificados, há algumas coisas que achei úteis:
Em algum momento, você verá o erro "O aplicativo falhou na verificação da codificação". isso vai te deixar louco. Respire fundo. Reinicie o XCode, reinicie o hardware de desenvolvimento. Vá bater em uma parede, vá tomar uma bebida e tudo funcionará novamente.
Então, você vai querer:
Observe que o Xcode 4 é muito melhor quando se trata de provisionamento.
fonte
Depois que seu aplicativo for aprovado, você deverá alterar a Data de disponibilidade para a data de hoje. Isso garante que ele apareça no topo da lista de categorias, que é classificada por data. Fazemos isso para o nosso aplicativo, iStylist Makeover .
ATUALIZAÇÃO: Conforme mencionado abaixo, isso não é mais válido.
fonte
Este artigo é de longe a resposta mais abrangente para esta excelente pergunta:
rejeições da loja de aplicativos
A postagem também possui links para outros recursos sobre o tópico.
Boa sorte, Matthew
As informações no artigo incluem:
Bugs
Versões HIG Lite
Conectividade com a Internet (informações excelentes que você pode se surpreender ao ler)
Uso excessivo de largura de banda em
redes de celular Recursos de dispositivos de redes (Outro grande ponto aqui que me salvou)
fonte
Se você for rejeitado, sua data de envio permanecerá a mesma de quando você enviou pela primeira vez, resultando em uma classificação mais baixa quando o aplicativo eventualmente se tornar disponível. Se você for rejeitado, peça à apple para remover o primeiro envio e, em vez de substituir o binário no aplicativo rejeitado, envie-o como um novo aplicativo com um número de versão mais recente 1.1 etc.
Algumas pessoas sugerem manter seu aplicativo gratuito por mais ou menos uma semana durante uma fase promocional e aumentar o preço mais tarde. Eu tentei nos dois sentidos e até agora parece ser 6 de uma maneira e meia dúzia de outra. Para cada 1000 downloads gratuitos, você espera cerca de 10 a US $ 0,99 (novamente, esta é a minha experiência)
Uma coisa menor que eu encontrei. Verifique se o ícone Small Embedded 57x57 corresponde ao ícone Large 512x512. Se for "muito" diferente na opinião deles, eles rejeitarão o aplicativo. Portanto, evite tentar mostrar um pouco mais de detalhes no ícone maior.
fonte
Siga as diretrizes da interface do usuário, se você estiver usando algum widget da Apple. Por exemplo, reutilizar conjuntos de ícones da Apple em contextos que mudam de significado (como redirecionar o ícone da câmera para capturar capturas de tela, quando o ícone é reservado para exibir o álbum de Imagens do dispositivo) pode ser motivo de rejeição.
fonte
A Apple publicou (a partir de 9 de setembro de 2010) sua lista oficial de diretrizes de revisão da loja de aplicativos; portanto, vale a pena verificar se você não violou nenhuma delas:
diretrizes de aprovação
(é necessário fazer login na Apple Developer)
ou um espelho aqui:
diretrizes da loja de aplicativos
Eles também têm sua própria página de Dicas de envio da App Store (o login do desenvolvedor provavelmente é necessário).
fonte
Acho que eles realmente não verificam vazamentos de memória e problemas de estabilidade, mais problemas de usabilidade. Por exemplo, meu aplicativo usa o Core Location para encontrar pontos de ônibus em Perth. Quando o testaram na Califórnia, não encontraram nenhum por perto (que surpresa!). Eles me mandaram mensagens sem exibir uma mensagem fora da área.
Outra coisa que eles usaram foi sobre os números dos pontos de ônibus. Em Perth, eles são números de 5 dígitos. Os testadores da Apple estavam inserindo números de dois dígitos e inadvertidamente criando estações de trem, para as quais eu uso um caminho de código ligeiramente diferente, e a funcionalidade descrita em minha descrição não teria funcionado.
Na verdade, foi um feedback muito útil e foi bom ter alguém que eu não conhecia repassá-lo uma vez. Fiquei bastante surpreso com a profundidade deles nos testes. Eu pensei que seria apenas algum tipo de ferramenta de verificação estática automatizada para garantir que você não estivesse tentando violar a segurança do iPhone.
fonte
O nome e o nome de exibição devem ser semelhantes ou idênticos, a menos que você saiba que eles não precisam ser (por exemplo, twitteriffic e twitteriffic premium são exibidos como 'twitteriffic' no iphone, mas são aplicativos diferentes com nomes diferentes).
O identificador de pacote é o equivalente da Apple a um caminho de registro de alguma maneira; os desenvolvedores do Windows usariam HKLM \ Software \ Company \ Application - a Apple usa uma convenção mais parecida com com.companyname.appname.
(Isenção de responsabilidade: nenhum conhecimento do desenvolvimento da AppStore, apenas uma pequena quantidade de conhecimento sobre Macs e arquivos plist)
fonte
Meu conselho é criar um perfil de distribuição de curinga. Dessa forma, você pode deixar o Identificador de pacote em paz, o valor padrão funciona.
Deixe o "Nome do pacote" configurando seu valor padrão. Você pode alterar o nome exibido renomeando o produto (vá para a tela de informações do projeto, selecione todas as configurações e procure por "produto".) Você pode substituí-lo pela configuração Nome de exibição do pacote, mas não será necessário se o nome do produto estiver correto.
Você deve ter uma versão em alta resolução (512x512) do seu logotipo ou imagem promocional quando enviar seu aplicativo.
Se seu aplicativo for rejeitado, a Apple informará o que corrigir. Eles são bastante razoáveis, então não se preocupe com isso.
fonte
Enviar informações do dispositivo para a Internet também é uma armadilha em potencial. O Contrato SDK diz:
Se você fizer algo como enviar os recordes de um jogo, dê ao usuário a chance de pular a transmissão. Caso contrário, você pode ser rejeitado, aconteceu conosco.
A propósito: Não há garantia de que, se sua primeira versão for aprovada, todas as atualizações serão válidas. Nosso 1.1 foi rejeitado por um recurso que já estava no 1.0. Isso é muito chato, já que a atualização pode estar corrigindo um bug e, se levar uma semana para ser rejeitada, você já está com uma semana de atraso quando precisar começar a consertar algo que achou que não estava quebrado.
fonte
Cuidado com as palavras-chave, não use outros nomes de aplicativos como palavras-chave. (meu aplicativo de música foi rejeitado após três semanas porque eu usei 'last.fm' como uma palavra-chave.)
fonte
UPDATE: como observado abaixo, alguém (um invasor de domínio?) Pegou o domínio, então o link está quebrado. Parece que mudou de mãos várias vezes recentemente :(.
Leia a página atual de rejeições e aceitações em AppRejections.com e verifique se você não está prestes a sofrer alguma alteração recente nos motivos de aprovação "secretos" da Apple.
fonte
Quando você envia, há uma caixa para você inserir os detalhes da conta demo que possam ser necessários para sua inscrição.
Essa caixa também é um bom local para colocar detalhes adicionais que os revisores podem achar úteis ao verificar seu aplicativo.
fonte
Se for um aplicativo para iPad, não mencione o iPad no nome do aplicativo ao enviá-lo ou no nome para exibição em seu Info.plist.
Isso foi um pouco problemático para mim, porque eu tenho um "aplicativo" (dois binários) que possui uma interface diferente para iPhone e iPad - eu não poderia chamar a versão do iPad de "Symmetry Lab" porque é assim que o aplicativo para iPhone é chamado , não poderia chamá-lo de "Symmetry Lab iPad" porque você não pode dizer iPad no nome e não queria chamá-lo de "Symmetry Lab HD" porque possui mais diferenças do que resolução. Acabei me contentando com o "Symmetry Lab Pro".
fonte
Não use imagens nos itens da barra de guias semelhantes a um iphone / ipod touch. Eles costumam permitir, mas agora eles estão rejeitando. Parece que outro hardware da Apple não é um problema.
fonte
A Apple não alterou o método da data de classificação para aplicativos recém-enviados?
Não precisamos mais jogar o jogo "defina sua data no futuro e depois para hoje".
"Novos aplicativos" são classificados por "data de aprovação" agora.
fonte
Obteve "binário inválido" em várias tentativas. O que finalmente funcionou foi compactar o pacote diretamente no Mac e fazer o upload em um Mac. Obviamente, deixe de fora o arquivo .dSYM. Nas tentativas anteriores, o zíper foi feito em um PC. Rezipar para excluir o .dSYM também foi feito em um PC nas tentativas com falha.
fonte
thumbs.db
para eleSe você usar um navegador que não seja o Safari para interagir com o Portal do desenvolvedor, as coisas podem não funcionar. Me custou pelo menos uma hora de miséria para descobrir isso.
fonte
Se você criar uma versão lite do seu aplicativo, tome cuidado para não bloquear os recursos que possam torná-lo considerado não totalmente funcional. Você também não deve vender a versão completa (embora pareça que muitos aplicativos fazem isso de qualquer maneira).
fonte