广告横幅内容大小会使设备崩溃?
最近,我将 iAD 集成到我的项目中,在将 adBannerView 的大小设置为纵向或横向时,我使用了
[_adBannerView setCurrentContentSizeIdentifier: ADBannerContentSizeIdentifier480x32];
这
[_adBannerView setCurrentContentSizeIdentifier: ADBannerContentSizeIdentifier320x50];
在模拟器上有效,但我收到了代码已弃用的警告。所以我将代码更改为
[_adBannerView setCurrentContentSizeIdentifier: ADBannerContentSizeIdentifierLandscape];
and
[_adBannerView setCurrentContentSizeIdentifier: ADBannerContentSizeIdentifierPortrait];
,警告消失了,我在模拟器上工作得很好。 然而,当我在我的设备(iOS 4.1)上测试我的应用程序时,GDB 给了我一个 EXC_BAD_ACCESS 错误。当我切换回早期的代码(480x32)时,该应用程序在我的设备上运行良好。
简而言之,我的设备可以运行使用已弃用的 iAD 方法的应用程序,但在使用当前 iAD 方法时会崩溃。
有人知道为什么吗?另外,如果我使用已弃用的方法,Apple 会拒绝我的应用程序吗?
谢谢
Recently I integrated iADs into my project and while setting the size of the adBannerView to portrait or landscape, I used
[_adBannerView setCurrentContentSizeIdentifier: ADBannerContentSizeIdentifier480x32];
and
[_adBannerView setCurrentContentSizeIdentifier: ADBannerContentSizeIdentifier320x50];
This worked on the simulator, but I got warnings that the code was deprecated. So I changed the code to
[_adBannerView setCurrentContentSizeIdentifier: ADBannerContentSizeIdentifierLandscape];
and
[_adBannerView setCurrentContentSizeIdentifier: ADBannerContentSizeIdentifierPortrait];
and the warnings went away and i worked fine on my simulator.
However, when I tested out my app on my device(iOS 4.1), The GDB gives me a EXC_BAD_ACCESS error. When I switched back to the earlier code(480x32), the app works fine on my device.
So in a nutshell, my device can run apps which use deprecated iAD methods, and crashes when the current iAD methods are used.
Anyone know why? Also, will Apple reject my app if I use deprecated methods?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您的设备 iOS 版本低于 4.2,则会崩溃,因为没有声明
ADBannerContentSizeIdentifierLandscape
和ADBannerContentSizeIdentifierPortrait
。您可以检查并查看 iOS 设备的版本,仅当版本为 4.2 或更高版本时才添加ADBannerContentSizeIdentifierPortrait
和ADBannerContentSizeIdentifierLandscape
,但您可以安全地使用ADBannerContentSizeIdentifier480x32
和ADBannerContentSizeIdentifier320x50
。以下是有关如何执行此操作的示例:检查 iPhone iOS 版本
if your device iOS version is less then 4.2, it will crash because there is no declaration for
ADBannerContentSizeIdentifierLandscape
andADBannerContentSizeIdentifierPortrait
. You can do a check and see what version the iOS device has, and addADBannerContentSizeIdentifierPortrait
andADBannerContentSizeIdentifierLandscape
only if the version is 4.2 or higher, however you can safely useADBannerContentSizeIdentifier480x32
andADBannerContentSizeIdentifier320x50
.Here's a sample on how you can do that: Check iPhone iOS Version