У меня есть приложение, которое работает только на iPhone в ландшафте. Я реализовал iAd, чтобы разместить баннер в нижней части экрана. Это отлично работало при компиляции в Xcode 4, но теперь в Xcode 5 есть проблема. Когда пользователь постучал по объявлению в старой версии, объявление полного размера загрузилось бы в портрете. Но теперь, когда пользователь удаляет объявление, он загружает объявление, но только верхняя половина экрана имеет объявление - нижняя часть остается пустой. Он корректно работает в симуляторе и на тестовых устройствах с использованием тестовых объявлений, но теперь, когда приложение работает вживую, оно не работает.iAd не работает в iPhone в ландшафте
Все работает отлично на iPad, который не ограничивается только ландшафтом. Я дважды проверил свой код, и все так же, как указано в документации. Apple была менее чем полезной. Есть предположения?
Обновление: Я нашел еще 2 части к головоломке. Это происходит только с прошивкой 8. Когда пользователь вводит рекламный баннер, я получаю «Невозможно одновременно удовлетворяют ограничениям» ошибка со следующим:
"<NSLayoutConstraint:0x7c948310 H:[UIView:0x7c947e80(219)]>",
"<NSLayoutConstraint:0x7c94edf0 H:[UILabel:0x7c94ecb0'Elapsed\n0:00'(62)]>",
"<NSLayoutConstraint:0x7c94f180 H:[UIView:0x7c94a430]-(0)-[UILabel:0x7c94ecb0'Elapsed\n0:00']>",
"<NSLayoutConstraint:0x7c94f210 UIView:0x7c94a430.width == UIView:0x7c94a320.width>",
"<NSLayoutConstraint:0x7c94f270 H:|-(0)-[UIView:0x7c94a430] (Names: '|':UIView:0x7c9479e0)>",
"<NSLayoutConstraint:0x7c94f2d0 H:[UILabel:0x7c94ecb0'Elapsed\n0:00']-(-1)-[UIView:0x7c94a320]>",
"<NSLayoutConstraint:0x7c94f390 H:[UIView:0x7c94a320]-(1)-[UIView:0x7c947e80]>",
"<NSLayoutConstraint:0x7c94f3f0 UIView:0x7c9479e0.centerX == UIView:0x7c947e80.centerX>",
"<NSLayoutConstraint:0x7c9504b0 H:|-(0)-[UIView:0x7c9479e0] (Names: '|':UIView:0x7c94f920)>",
"<NSLayoutConstraint:0x7c9504e0 H:[UIView:0x7c9479e0]-(0)-| (Names: '|':UIView:0x7c94f920)>",
"<NSLayoutConstraint:0x7c971e90 'UIView-Encapsulated-Layout-Width' H:[UIView:0x7c94f920(320)]>"
"Will attempt to recover by breaking constraint "
"<NSLayoutConstraint:0x7c948310 H:[UIView:0x7c947e80(219)]>"
И, в строке состояния теперь распространяется на мой взгляд, в то время как в ios7 показано. Я построил раскладку изначально для ios7, поэтому что-то изменилось. Мне все равно (на самом деле предпочитаю), чтобы не отображалась строка состояния, но я не могу понять, как отлаживать эти ограничения.
Какой интерфейс ориентации вы поддерживаете в вашем Info.plist и ваш вид контроллеров? – JoePasq
Пейзаж влево и вправо для iPhone. – Bob
Используете ли вы раскадровки - может ли быть что-то, что влияет на поворот и калибровку? Можете ли вы создать новый проект с одним пустым контроллером представлений, настроенным как ваш, и попытаться воспроизвести проблему? У меня есть портретное и ландшафтное приложение, которое отображает портрет iAd только на iOS 8.0. – JoePasq