我的应用程序被拒绝,原因如下:
“我们发现您的应用程序无法在运行 iOS 5.0.1 的 iPhone 4 上通过 Wi-Fi 和蜂窝网络启动。”
我不确定原因,因为临时构建很好,但后来我看到了两件事可能会影响它。
-
我的编译器标志仅用于临时构建,而不是分发。这些是由于 AdMob 而添加的。你猜这可能是原因吗?
-v -v -v -gcc_flags "-framework AudioToolbox -framework MessageUI -framework
系统配置 -L${ProjectDir}/libs -lGoogleAdMobAds -force_load
${ProjectDir}/libs/libGoogleAdMobAds.a"
-
我发现了很多关于临时权利文件的帖子,但我在生产中需要它吗?我将我的 Entitlements.plist 添加到了 MonoTouch 中的“自定义权利”条目中但不确定我需要它,这可能是原因吗?权利文件在这里:
...
<字典>
获取任务允许
<假/>>
应用程序标识符
<字符串>$(AppIdentifierPrefix)$(CFBundleIdentifier)
钥匙串访问组
<数组>
<字符串>$(AppIdentifierPrefix)$(CFBundleIdentifier)
I got an app rejected due to:
"We found that your app failed to launch on iPhone 4 running iOS 5.0.1, on both Wi-Fi and cellular networks."
I am not sure of the reason since the adhoc builds are fine, but then I saw two things that may have affected it.
-
I had compiler flags only for ad-hoc builds and not distribution. These are added because of AdMob. Guess this can be the reason?
-v -v -v -gcc_flags "-framework AudioToolbox -framework MessageUI -framework
SystemConfiguration -L${ProjectDir}/libs -lGoogleAdMobAds -force_load
${ProjectDir}/libs/libGoogleAdMobAds.a"
-
I found a lot of posts about Entitlements file for ad-hoc but do I need it for production? I added my Entitlements.plist to the "Custom entitlements" entry in MonoTouch but not sure I need it. Can this be the reason? The entitlements file is here:
...
<?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)
可能是。这取决于绑定(它们的编写方式)以及应用程序的编写方式(错误管理)。
一个快速测试是尝试将其从临时构建中删除,以查看应用程序在启动时是否崩溃。如果确实如此,那么您可以假设苹果在审查您的申请时也会发生同样的情况。
我自己没有尝试过,但 推送通知不起作用? 的答案指向创建了文档,其中描述了您需要如何创建应用程序ID和为推送通知服务提供开发和生产SSL证书。
您应该查看该文档并确保您的设置匹配。
It could be. It depends on the bindings (how they are written) and how your application is written (error management).
A quick test would be to try removing it from your ad-hoc builds to see if the application crash at startup. If it does then you can assume the same will happen at Apple when they are reviewing your application.
I have not tried this myself but the answer to Push Notification is not working? points to created document which describe how you need to create an App ID and provide development and production SSL certificate for the push notification service.
You should review the document and make sure your setup match.