Problemas conhecidos com o Programa de desenvolvedor UWP no XboxKnown issues with UWP on Xbox Developer Program

Este tópico descreve problemas conhecidos com o Programa de desenvolvedor UWP no Xbox One.This topic describes known issues with the UWP on Xbox One Developer Program. Para saber mais sobre esse programa, consulte UWP no Xbox.For more information about this program, see UWP on Xbox.

[Se você veio aqui de um link em um tópico de referência de API e está procurando informações de API da família de dispositivos universais, consulte recursos do UWP sem suporte no Xbox.][If you came here from a link in an API reference topic, and are looking for Universal device family API information, see UWP features not supported on Xbox.]

A lista a seguir destaca alguns problemas conhecidos que podem ocorrer, embora essa não seja uma lista completa.The following list highlights some known issues that you may encounter, but this list is not exhaustive.

Queremos receber seu feedback, portanto, relate todos os problemas que você encontrar no fórum Desenvolvendo aplicativos da Plataforma Universal do Windows.We want to get your feedback, so please report any issues that you find on the Developing Universal Windows Platform apps forum.

Se você se perder, leia as informações neste tópico. Consulte Perguntas frequentes e use os fóruns para pedir ajuda.If you get stuck, read the information in this topic, see Frequently asked questions, and use the forums to ask for help.

A implantação com base em VS falha com os Controle dos Pais ativadoDeploying from VS fails with Parental Controls turned on

A inicialização do aplicativo com base em VS falhará se o console tiver os Controles dos Pais ativados em Configurações.Launching your app from VS will fail if the console has Parental Controls turned on in Settings.

Para contornar esse problema, desabilite temporariamente os Controles dos Pais ou:To work around this issue, either temporarily disable Parental Controls, or:

  1. Implante seu aplicativo no console com os Controles dos Pais desativados.Deploy your app to the console with Parental Controls turned off.
  2. Ative os Controles dos Pais.Turn on Parental Controls.
  3. Inicie seu aplicativo a partir do console.Launch your app from the console.
  4. Digite um PIN ou uma senha para permitir a inicialização do aplicativo.Enter a PIN or password to allow the app to launch.
  5. O aplicativo será iniciado.App will launch.
  6. Feche o aplicativo.Close the app.
  7. Inicie a partir do VS usando F5, e o aplicativo será iniciado sem aviso.Launch from VS using F5, and the app will launch with no prompting.

Nesse caso, a permissão é fixa até você desconectar o usuário, mesmo se você desinstalar e reinstalar o aplicativo.At this point the permission is sticky until you sign the user out, even if you uninstall and reinstall the app.

Há outro tipo de isenção disponível apenas para contas de crianças.There is another type of exemption that is only available for child accounts. Uma conta de criança requer que o pai conecte-se para conceder permissão. Ao conectar, o pai tem a opção de escolher Sempre para permitir que a criança inicie o aplicativo.A child account requires a parent to sign in to grant permission, but when they do, the parent has the option of choosing to Always allow the child to launch the app. Essa isenção é armazenada na nuvem e persistirá mesmo que a criança saia e entre novamente.That exemption is stored in the cloud and will persist even if the child signs out and signs back in.

StorageFile.CopyAsync falha ao copiar arquivos criptografados para um destino não criptografadoStorageFile.CopyAsync fails to copy encrypted files to unencrypted destination

Quando StorageFile.CopyAsync for usado para copiar um arquivo criptografado para um destino que não esteja criptografado, a chamada falhará com esta exceção:When StorageFile.CopyAsync is used to copy a file that is encrypted to a destination that is not encrypted, the call will fail with the following exception:

System.UnauthorizedAccessException: Access is denied. (Excep_FromHResult 0x80070005)

Isso pode afetar os desenvolvedores do Xbox que desejam copiar os arquivos implantados como parte do pacote do app para outro local.This can affect Xbox developers who want to copy files that are deployed as part of their app package to another location. O motivo disso é que o conteúdo do pacote é criptografado em um Xbox em modo de varejo, mas não no Modo de Desenvolvimento.The reason for this is that the package contents are encrypted on an Xbox in retail mode, but not in Dev Mode. Como resultado, o aplicativo aparentemente pode funcionar como esperado durante o desenvolvimento e os testes, mas depois falhará quando for publicado e instalado em um Xbox de varejo.As a result, the app may appear to work as expected during development and testing, but then fail once it has been published and then installed to a retail Xbox.

Portas de rede bloqueadas no Xbox OneBlocked networking ports on Xbox One

Os aplicativos da Plataforma Universal do Windows (UWP) em dispositivos do Xbox One não podem se associar a portas na faixa [57344, 65535], inclusive.Universal Windows Platform (UWP) apps on Xbox One devices are restricted from binding to ports in the range [57344, 65535], inclusive. Embora a associação a essas portas possa parecer ter sido bem-sucedida em tempo de execução, o tráfego de rede pode diminuir silenciosamente antes de atingir o aplicativo.Although binding to these ports might appear to succeed at run-time, network traffic can be silently dropped before reaching your app. Seu aplicativo deverá se associar à porta 0 sempre que possível, o que permite que o sistema selecione a porta local.Your app should bind to port 0 wherever possible, which allows the system to select the local port. Se você precisar usar uma porta específica, o número da porta deverá estar no intervalo [1025, 49151], e você deve verificar e evitar conflitos com o registro IANA.If you need to use a specific port, the port number must be in the range [1025, 49151], and you should check and avoid conflicts with the IANA registry. Para obter mais informações, consulte o Nome do serviço e registro de número de porta de protocolo de transporte.For more information, see the Service Name and Transport Protocol Port Number Registry.

Cobertura de API Windows RuntimeWindows Runtime API coverage

Nem todas as APIs Windows Runtime têm suporte no Xbox.Not all Windows Runtime APIs are supported on Xbox. Para obter a lista de APIs que sabemos que não funcionam, confira recursos do UWP sem suporte no Xbox.For the list of APIs that we know don't work, see UWP features not supported on Xbox. Se você encontrar problemas com outras APIs, informe-os nos fóruns.If you find issues with other APIs, please report them on the forums.

Você receberá um aviso sobre o certificado que foi fornecido, semelhante à captura de tela a seguir, porque o certificado de segurança assinado por seu console do Xbox One não é considerado um publicador confiável conhecido.You will receive a warning about the certificate that was provided, similar to the following screenshot, because the security certificate signed by your Xbox One console is not considered a well-known trusted publisher. Para acessar o Windows Device Portal, clique em Continuar para este site.To access the Windows Device Portal, click Continue to this website.

Aviso de certificado de segurança do site

Limitação de KnownFolders.MediaServerDevices no XboxKnownFolders.MediaServerDevices caveat on Xbox

Na Área de trabalho, os servidores de mídia são "emparelhados" ao computador e o Serviço de associação de dispositivos sempre rastreia quais servidores estão online no momento para que uma consulta inicial do sistema de arquivo imediatamente possa retornar uma lista dos servidores emparelhados online no momento.On Desktop, media servers are “paired” with the PC, and the Device Association Service is constantly tracking which of the servers are currently on-line, so an initial file system query can immediately return a list of the paired servers that are currently online.

No Xbox, não há nenhuma interface do usuário para adicionar ou remover servidores, portanto, a consulta inicial do sistema de arquivos sempre retornará vazia.On Xbox, there is no UI to add or remove servers, so the initial file system query will always return empty. Você deve criar uma consulta e assinar o evento ContentsChanged, em seguida, atualizar a consulta sempre que receber uma notificação.You must create a query and subscribe to the ContentsChanged event and refresh the query each time you get a notification. Os servidores oferecem informações e a maioria será descoberta em três segundos.Servers will trickle in and most will have been discovered within 3 seconds.

Código de exemplo simples:Simple example code:

namespace TestDNLA {

    public sealed partial class MainPage : Page {
        public MainPage() {
            this.InitializeComponent();
        }

        private async void FindFiles_Click(object sender, RoutedEventArgs e) {
            try {
                StorageFolder library = KnownFolders.MediaServerDevices;
                var folderQuery = library.CreateFolderQuery();
                folderQuery.ContentsChanged += FolderQuery_ContentsChanged;
                IReadOnlyList<StorageFolder> rootFolders = await folderQuery.GetFoldersAsync();
                if (rootFolders.Count == 0) {
                    Debug.WriteLine("No Folders found");
                } else {
                    Debug.WriteLine("Folders found");
                }
            } catch (Exception ex) {
                Debug.WriteLine("Error: " + ex.Message);
            } finally {
                Debug.WriteLine("Done");
            }
        }

        private async void FolderQuery_ContentsChanged(Windows.Storage.Search.IStorageQueryResultBase sender, object args) {
            Debug.WriteLine("Folder added " + sender.Folder.Name);
            IReadOnlyList<StorageFolder> topLevelFolders = await sender.Folder.GetFoldersAsync();
            foreach (StorageFolder topLevelFolder in topLevelFolders) {
                Debug.WriteLine(topLevelFolder.Name);
            }
        }
    }
}

Confira tambémSee also