当我有推送通知时,是否需要分发版本的Entitlements文件?

时间:2011-12-14 22:14:41

标签: ios xamarin.ios push-notification admob entitlements

我的应用被拒绝了,因为: “我们发现您的应用无法在运行iOS 5.0.1的iPhone 4上启动,无论是在Wi-Fi还是蜂窝网络上。”

由于adhoc版本很好,我不确定原因,但后来我看到了可能影响它的两件事。

  1. 我只为ad-hoc构建而不是分发编译器标记。这些是因为AdMob而添加的。猜猜这可能是什么原因?

    -v -v -v -gcc_flags“-framework AudioToolbox -framework MessageUI -framework
     SystemConfiguration -L $ {ProjectDir} / libs -lGoogleAdMobAds -force_load
     $ {PROJECTDIR} /libs/libGoogleAdMobAds.a“

  2. 我发现了很多关于adit hoc的Entitlements文件的帖子,但我是否需要它用于制作?我将我的Entitlements.plist添加到MonoTouch中的“自定义权利”条目,但不确定我是否需要它。这可能是原因吗?权利文件在这里: ...

    <?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>get-task-allow</key>
      <false/>
      <key>application-identifier</key>
      <string>$(AppIdentifierPrefix)$(CFBundleIdentifier)</string>
      <key>keychain-access-groups</key>
      <array>
        <string>$(AppIdentifierPrefix)$(CFBundleIdentifier)</string>
      </array>
    

       

1 个答案:

答案 0 :(得分:0)

  

我的编译器标志仅用于ad-hoc构建而不是分发。这些是因为AdMob而添加的。猜猜这可能是原因吗?

可能是。它取决于绑定(如何编写)以及应用程序的编写方式(错误管理)。

快速测试是尝试从ad-hoc构建中删除它以查看应用程序是否在启动时崩溃。如果确实如此,那么您可以假设在Apple审核您的申请时会发生同样的情况。

  

我发现了大量有关ad-hoc的Entitlements文件的帖子,但我是否需要它用于制作?

我自己没有尝试过,但Push Notification is not working?的答案指向创建document,它描述了如何创建App ID并为推送通知服务提供开发和生产SSL证书。

您应该查看该文档并确保您的设置匹配。