Pergunta

Se eu criar um aplicativo no meu Mac, há alguma maneira de executá-lo em um iPhone sem passar pela app store?

Não importa se o iPhone precisa ser desbloqueado, desde que eu ainda consiga executar um aplicativo criado usando o SDK oficial.Por motivos que não vou abordar, não posso permitir que este programa passe pela app store.

Foi útil?

Solução

Programa oficial para desenvolvedores

Para um iPhone padrão, você precisará pagar US$ 99/ano para ser membro do programa de desenvolvedores.Você pode então usar o sistema ad hoc para instalar seu aplicativo em até 100 dispositivos.O programa do desenvolvedor tem os detalhes, mas envolve adicionar UUIDs para cada um dos dispositivos ao pacote do seu aplicativo.UUIDs podem ser recuperados mais facilmente usando Auxiliar Ad Hoc disponível na App Store.Para obter mais detalhes sobre este método, consulte Craig Hockenberry's Teste beta no iPhone 2.0 artigo

iPhone desbloqueado

Para iPhones desbloqueados, você pode usar o seguinte método que testei pessoalmente usando o AcelerômetroGráfico aplicativo de amostra no iPhone OS 3.0.

Criar certificado autoassinado

Primeiro você precisará criar um certificado autoassinado e corrigir o SDK do seu iPhone para permitir o uso deste certificado:

  1. Inicie o Keychain Access.app.Sem nenhum item selecionado, no menu Chaveiro selecione Assistente de Certificado e, em seguida, Crie um Certificado.

    Nome:Desenvolvedor de iPhone
    Tipo de certificado:Assinatura de código
    Deixe-me substituir os padrões:Sim

  2. Clique em Continuar

    Validade:3650 dias

  3. Clique em Continuar

  4. Deixe em branco o campo Endereço de e-mail.

  5. Clique em Continuar até concluir.

    Você deverá ver "Este certificado raiz não é confiável".Isto é esperado.

  6. Configure o SDK do iPhone para permitir o uso do certificado autoassinado:

    sudo /usr/bin/sed -i .bak 's/XCiPhoneOSCodeSignContext/XCCodeSignContext/' /Developer/Platforms/iPhoneOS.platform/Info.plist

    Se você tiver o Xcode aberto, reinicie-o para que esta alteração tenha efeito.

Implantação manual por WiFi

As etapas a seguir exigem openssh, e uikittools a ser instalado primeiro.Substituir jasoniphone.local com o nome do host do dispositivo de destino.Certifique-se de definir sua própria senha em ambos os mobile e root usuários após instalar o SSH.

Para compilar e instalar manualmente seu aplicativo no telefone como um aplicativo de sistema (ignorando o sistema de instalação da Apple):

  1. Projeto, definir SDK ativo, dispositivo e definir configuração de compilação ativa, versão.

  2. Compile seu projeto normalmente (usando Build, não Build & Go).

  3. No build/Release-iphoneos diretório, você terá um pacote de aplicativos.Use seu método preferido para transferir isso para /Applications no dispositivo.

    scp -r AccelerometerGraph.app root@jasoniphone:/Applications/

  4. Informe ao SpringBoard que o novo aplicativo foi instalado:

    ssh mobile@jasoniphone.local uicache

    Isso só precisa ser feito quando você adiciona ou remove aplicativos.Os aplicativos atualizados só precisam ser reiniciados.

Para facilitar sua vida durante o desenvolvimento, você pode configurar a autenticação de chave SSH e adicionar essas etapas extras como uma etapa de construção personalizada em seu projeto.

Observe que se desejar remover o aplicativo posteriormente, você não poderá fazê-lo através da interface padrão do SpringBoard e precisará usar SSH e atualizar o SpringBoard:

ssh root@jasoniphone.local rm -r /Applications/AccelerometerGraph.app &&
ssh mobile@jasoniphone.local uicache

Outras dicas

Sim, depois de ingressar no Programa de Desenvolvedores do iPhone e pagar US$ 99 à Apple, você poderá provisionar seus aplicativos em até 100 dispositivos iOS.

  • Crie seu aplicativo
  • Faça upload para um site de crack
  • (Se o seu aplicativo for bom o suficiente) a versão crack será postada minutos depois e estará pronta para todos baixarem ;-)

Com a ajuda de esta postagem, criei um script que será instalado por meio do aplicativo Installous para implantação rápida:

# compress application.
/bin/mkdir -p $CONFIGURATION_BUILD_DIR/Payload
/bin/cp -R $CONFIGURATION_BUILD_DIR/MyApp.app $CONFIGURATION_BUILD_DIR/Payload
/bin/cp iTunesCrap/logo_itunes.png $CONFIGURATION_BUILD_DIR/iTunesArtwork
/bin/cp iTunesCrap/iTunesMetadata.plist $CONFIGURATION_BUILD_DIR/iTunesMetadata.plist

cd $CONFIGURATION_BUILD_DIR

# zip up the HelloWorld directory

/usr/bin/zip -r MyApp.ipa Payload iTunesArtwork iTunesMetadata.plist

O que está faltando na postagem mencionada acima é o iTunesMetadata.Sem isso, o Installous não instalará os aplicativos corretamente.Aqui está um exemplo de iTunesMetadata:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>appleId</key>
    <string></string>
    <key>artistId</key>
    <integer>0</integer>
    <key>artistName</key>
    <string>MYCOMPANY</string>
    <key>buy-only</key>
    <true/>
    <key>buyParams</key>
    <string></string>
    <key>copyright</key>
    <string></string>
    <key>drmVersionNumber</key>
    <integer>0</integer>
    <key>fileExtension</key>
    <string>.app</string>
    <key>genre</key>
    <string></string>
    <key>genreId</key>
    <integer>0</integer>
    <key>itemId</key>
    <integer>0</integer>
    <key>itemName</key>
    <string>MYAPP</string>
    <key>kind</key>
    <string>software</string>
    <key>playlistArtistName</key>
    <string>MYCOMPANY</string>
    <key>playlistName</key>
    <string>MYAPP</string>
    <key>price</key>
    <integer>0</integer>
    <key>priceDisplay</key>
    <string>nil</string>
    <key>rating</key>
    <dict>
        <key>content</key>
        <string></string>
        <key>label</key>
        <string>4+</string>
        <key>rank</key>
        <integer>100</integer>
        <key>system</key>
        <string>itunes-games</string>
    </dict>
    <key>releaseDate</key>
    <string>Sunday, December 12, 2010</string>
    <key>s</key>
    <integer>143441</integer>
    <key>softwareIcon57x57URL</key>
    <string></string>
    <key>softwareIconNeedsShine</key>
    <false/>
    <key>softwareSupportedDeviceIds</key>
    <array>
        <integer>1</integer>
    </array>
    <key>softwareVersionBundleId</key>
    <string>com.mycompany.myapp</string>
    <key>softwareVersionExternalIdentifier</key>
    <integer>0</integer>
    <key>softwareVersionExternalIdentifiers</key>
    <array>
        <integer>1466803</integer>
        <integer>1529132</integer>
        <integer>1602608</integer>
        <integer>1651681</integer>
        <integer>1750461</integer>
        <integer>1930253</integer>
        <integer>1961532</integer>
        <integer>1973932</integer>
        <integer>2026202</integer>
        <integer>2526384</integer>
        <integer>2641622</integer>
        <integer>2703653</integer>
    </array>
    <key>vendorId</key>
    <integer>0</integer>
    <key>versionRestrictions</key>
    <integer>0</integer>
</dict>
</plist>

Obviamente, substitua todas as instâncias de MyApp pelo nome do seu aplicativo e MyCompany pelo nome da sua empresa.

Basicamente, isso será instalado em qualquer dispositivo desbloqueado com o Installous instalado.Depois de configurado, isso resulta em uma implantação muito rápida, pois pode ser instalado de qualquer lugar, basta fazer o upload para o site da sua empresa, baixar o arquivo diretamente para o dispositivo e copiá-lo/movê-lo para ~/Documents/Installous/Downloads.

Com o próximo Xcode 7 agora é possível instalar aplicativos em seus dispositivos sem uma licença de desenvolvedor da Apple, então agora é possível pular a app store e você não precisa fazer o jailbreak do seu dispositivo.

Agora todos podem obter seu aplicativo em seus dispositivos Apple.

Xcode 7 e O Swift agora torna mais fácil para todos criar aplicativos e executá-los diretamente em seus dispositivos Apple.Basta iniciar sessão com o seu ID Apple, e transforme sua ideia em um aplicativo que você pode tocar em seu iPad, iPhone ou Apple Watch.Baixe o Xcode 7 beta e experimente você mesmo Hoje.A adesão ao programa não é necessária.

Citado de: https://developer.apple.com/xcode/

Atualizar:

O XCode 7 foi lançado:

Desenvolvimento gratuito no dispositivo Agora todos podem executar e testar seu próprio aplicativo em um dispositivo — gratuitamente.Você pode executar e depurar suas próprias criações em um Mac, iPhone, iPad, iPod touch ou Apple Watch sem taxas e sem programas para participar.Tudo o que precisa de fazer é introduzir o seu ID Apple gratuito em Xcode.Você pode até usar o mesmo ID Apple que já usa para o aplicativo Loja ou iTunes.Depois de aperfeiçoar seu aplicativo, o Apple Developer O programa pode ajudá-lo a obtê-lo na App Store.

Ver Lançando seu aplicativo em dispositivos Para obter informações detalhadas sobre a instalação e a execução de dispositivos.

É importante notar que, se você seguir o caminho do jailbreak, é possível (provável?) que uma atualização do sistema operacional do iPhone acabe com sua capacidade de executar esses aplicativos.Eu seguiria o caminho oficial e pagaria US$ 99 para ser autorizado.Além de não precisar se preocupar com a derrota de seus aplicativos, você também terá a oportunidade (se quiser) de lançar seus aplicativos na loja.

Depois de copiar o aplicativo para o iPhone da maneira descrita por @Jason Weathered, certifique-se de "chmod +x" do aplicativo, caso contrário ele não será executado.

*Alterações/notas para fazer isso funcionar Xcode 3.2.1 e SDK do iPhone 3.1.2

Implantação manual por WiFi

2) Certifique-se de reiniciar o Xcode após modificar o Info.plist

3) O comando "uicache" não foi encontrado, usar killall -HUP SpringBoard funcionou bem para mim.

Fora isso, posso confirmar que funciona bem.

Usuários de Mac, usando PwnageTool 3.1.4 funcionou muito bem para Jailbreaking (DL via torrent).

Se você corrigir /Developer/Platforms/iPhoneOS.platform/Info.plist e, em seguida, tentar depurar um aplicativo em execução no dispositivo usando um perfil de provisionamento de desenvolvimento real da Apple, provavelmente não funcionará.Os sintomas são mensagens de erro estranhas de com.apple.debugserver e que você pode usar qualquer identificador de pacote sem receber erros ao compilar no Xcode.A solução é restaurar Info.plist.

Você pode usar AppBox, Um aplicativo Mac que usa sua conta Dropbox para distribuir aplicativos ad-hoc e corporativos, se você deseja instalar de qualquer outro navegador.

https://github.com/vineetchoudhary/AppBox-iOSAppsWirelessInstallation/releases


Opções

Arquivar e fazer upload de IPA

  • Basta selecionar Projeto/Espaço de Trabalho para arquivo -> fazer ipa -> carregar ipa -> enviar correio -> e desligar mac

Carregar apenas IPA

  • Basta selecionar o arquivo IPA para carregar ipa -> enviar correio -> e desligar mac

Recurso

  • Mantenha o mesmo link
    • Este recurso manterá o mesmo URL curto para todos os futuros ipa carregados com o mesmo identificador de pacote.
    • Se esta opção estiver habilitada, você também pode baixar a versão anterior com o mesmo URL.
  • E-mail automático Link de distribuição de aplicativos
  • Desligamento automático do Mac após distribuição
  • Tamanho máximo de upload => Igual ao armazenamento da sua conta Dropbox
  • Expiração do aplicativo enviado => Até você excluir do seu Dropbox
  • Instalações por aplicativo => Ilimitado
  • Painel*

    * Estará disponível em versão futura


AppBox x Diawi

Captura de tela

Carregar IPA

Arquivar e fazer upload de IPA

Carregando IPA

Experimente aqui https://github.com/vineetchoudhary/AppBox-iOSAppsWirelessInstallation/releases

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top