当我有推送通知时,我是不是需要分发构建的权利文件?
Posted
技术标签:
【中文标题】当我有推送通知时,我是不是需要分发构建的权利文件?【英文标题】:Do I need an Entitlements file for Distribution builds when I have push notifications?当我有推送通知时,我是否需要分发构建的权利文件? 【发布时间】:2011-12-14 22:14:41 【问题描述】:我的应用被拒绝,原因是: “我们发现您的应用无法在运行 ios 5.0.1 的 iPhone 4 上启动,无论是在 Wi-Fi 还是蜂窝网络上。”
我不确定原因,因为临时构建很好,但后来我看到了两件事可能会影响它。
我的编译器标志仅用于临时构建而不是分发。这些是由于 AdMob 而添加的。猜猜这可能是原因吗?
-v -v -v -gcc_flags "-framework AudioToolbox -framework MessageUI -framework SystemConfiguration -L$ProjectDir/libs -lGoogleAdMobAds -force_load $ProjectDir/libs/libGoogleAdMobAds.a"
我发现了很多关于临时授权文件的帖子,但我需要它来生产吗?我将我的 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】:我的编译器标志仅用于临时构建而不是分发。这些是由于 AdMob 而添加的。猜猜这可能是原因吗?
可能是这样。这取决于绑定(它们是如何编写的)以及您的应用程序是如何编写的(错误管理)。
一个快速测试是尝试从您的临时构建中删除它,以查看应用程序在启动时是否崩溃。如果确实如此,那么您可以假设 Apple 在审核您的申请时也会发生同样的情况。
我发现了很多关于临时授权文件的帖子,但我需要它来生产吗?
我自己没有尝试过,但Push Notification is not working? 的答案指向创建的document,它描述了您需要如何创建 App ID 并为推送通知服务提供开发和生产 SSL 证书。
您应该查看文档并确保您的设置匹配。
【讨论】:
以上是关于当我有推送通知时,我是不是需要分发构建的权利文件?的主要内容,如果未能解决你的问题,请参考以下文章