4.2 中 iAd 更改的问题
我正在尝试在我的应用程序中使用 iAds,但我想支持 4.0 及以上的所有版本。但是,用于设置当前大小标识符的代码在 4.2 sdk 中已更改,它曾经是:
ad.currentContentSizeIdentifier = ADBannerContentSizeIdentifier480x32;
但在 4.2 中,代码是:
ad.currentContentSizeIdentifier = ADBannerContentSizeIdentifierLandscape;
因此,当我在 4.2 sdk 中使用旧代码时,它会崩溃,并且如果我使用正确的代码对于 4.2,任何运行 4.2 之前版本的设备都会崩溃。有谁知道我如何支持两者,或者我必须使用 4.2 作为部署目标?
I'm trying to use iAds in my app but I want to support all versions from 4.0 upwards. However the code for setting the current size identifier has changed in the 4.2 sdk, it used to be:
ad.currentContentSizeIdentifier = ADBannerContentSizeIdentifier480x32;
but in 4.2 the code is:
ad.currentContentSizeIdentifier = ADBannerContentSizeIdentifierLandscape;
and therefore when if I use the old code in the 4.2 sdk it crashes and if I use the correct code for 4.2 any device running a previous version to 4.2 crashes. Does anyone know how I can support both or will I have to use 4.2 as the deployment target?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
有一个解决方法可以同时支持 4.2 和更早版本。
您可以使用类似于下面的代码的方式检查您的 ios 版本中是否存在该常量:
然后只需使用该字符串来初始化您的 iAd 视图
There is a workaround to support both 4.2 and earliers versions.
You could check if the constant exists at your ios version using something similar to the code bellow:
and then just use the string to initialize you iAd view
您的代码中还有其他一些问题 - 在 4.2 下使用 ADBannerContentSizeIdentifier480x32 不会导致崩溃,实际上它甚至不会触发编译器警告。它已被弃用,但仍然可用。
There's some other problem in your code — use of ADBannerContentSizeIdentifier480x32 under 4.2 does not cause a crash, indeed it doesn't even trigger a compiler warning. It's deprecated but remains available.