Apple推送通知 - 应用商店提交

时间:2015-05-19 20:35:54

标签: ios swift push-notification apple-push-notifications

我正在使用第三方库,其中包含推送通知的代码。但在我们的代码中,我们没有任何与推送通知相关的内容。所以我的个人资料没有启用APNS。当我尝试将其推送到iTunes Connect for BETA TESTING时,我收到了来自Apple的电子邮件。我现在的问题是即使我没有使用推送通知,我也可以使用APNS提交我的应用程序吗? 如果我这样做,Apple会拒绝我的应用程序吗?

  

亲爱的开发者,我们发现了您最近的一个或多个问题   交付" Myapp Beta"。您的交付成功,但您可以   希望在下次交付时纠正以下问题:遗失   推送通知权利 - 您的应用似乎包含使用的API   注册Apple推送通知服务,但应用程序   签名的权利不包括" aps-environment"   权利。如果您的应用使用Apple推送通知服务,   确保您的App ID已启用推送通知   配置门户,并在使用a签名您的应用程序后重新提交   分发配置文件,包括" aps-environment"   权利。请参阅"供应和开发"在本地和推送   通知编程指南了解更多信息。如果你的应用程序   不使用Apple推送通知服务,不需要采取任何措施。   您可以从将来的提交中删除API以停止此警告。   如果您使用第三方框架,则可能需要联系   开发人员获取有关删除API的信息。你纠正后   问题,您可以使用Xcode或Application Loader上传新的   二进制到iTunes Connect。此致,App Store团队

1 个答案:

答案 0 :(得分:2)

 public static bool IsApplictionInstalled(string p_name)
    {
        string displayName;
        RegistryKey key;

        // search in: CurrentUser
        key = Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall");
        foreach (String keyName in key.GetSubKeyNames())
        {
            RegistryKey subkey = key.OpenSubKey(keyName);
            displayName = subkey.GetValue("DisplayName") as string;
            if (p_name.Equals(displayName, StringComparison.OrdinalIgnoreCase) == true)
            {
                return true;
            }
        }

        // search in: LocalMachine_32
        key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall");
        foreach (String keyName in key.GetSubKeyNames())
        {
            RegistryKey subkey = key.OpenSubKey(keyName);
            displayName = subkey.GetValue("DisplayName") as string;
            if (p_name.Equals(displayName, StringComparison.OrdinalIgnoreCase) == true)
            {
                return true;
            }
        }

        // search in: LocalMachine_64
        key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall");
        foreach (String keyName in key.GetSubKeyNames())
        {
            RegistryKey subkey = key.OpenSubKey(keyName);
            displayName = subkey.GetValue("DisplayName") as string;
            if (p_name.Equals(displayName, StringComparison.OrdinalIgnoreCase) == true)
            {
                return true;
            }
        }

        // NOT FOUND
        return false;
    }

执行此操作会为您提供推送权利,因此应用提交应该没问题。 Apple不知道你实际上没有使用推送通知,他们只会运行一个工具,检测你在应用程序中有推送通知处理代码,但没有推送权利。执行上述4个步骤应该添加权利。

希望这应该足够了,但是您可能还需要在配置文件中启用推送通知。这很容易做到,最好的推送总体指南告诉你如何做到这一点在这里: http://www.raywenderlich.com/32960/apple-push-notification-services-in-ios-6-tutorial-part-1