iAd not working on iOS 6 - ios5

I have an iPhone app with iAd implemented and it was working fine on iOS 5.1.1. I upgrade my Xcode to 4.5 with the iOS 6 SDK to check my app for iOS 6 compatibility. The only thing that doesn't work now is the iAd. I try the 5.1 SDK simulator and it works but not on the iOS 6 simulator. I upgrade my iPhone to iOS 6 to try on the device it self and doesn't work. I test my app on my iPod and my wife iPhone with 5.1.1 and it works but not on devices with iOS 6. The point is that I have tried, test and look for answers about this issue and no one seem to have the solution.
Can anyone help me if you have the solution?
Thanks!

iAd and AdWhirl deprecated a few things in iOS 6, mostly due to the new screen sizes.
http://code.google.com/p/adwhirl/issues/detail?id=318
Adding #import <iAd/ADBannerView_Deprecated.h> should help with the compile errors, though that solution is a little kludgey.

I added this:
#import <iAd/iAd.h>
to the top of AdWhirlAdapterIAd.m and then the errors disappeared.

Related

Release iPhone App iOS7

I developed an iPhone app that works on iOS 6 and iOS 7 but not in iOS 5 or iOS 4.3
I want to release this app to App Store.
Will the store reject my app because it is not work in iOS 4.3 or the Store accepts the apps that work on iOS 7 as its the new thing?
Hope anyone got my mean.
No problem with that. Keep your deployment target as iOS 6.0. That will be fine
If your app is just for iOS 6 and iOS 7 that is fine it will just be restricted to device with that iOS on them. As long as you have set your Deployment Target to be 6.0 it will work fine and not be rejected. And unless your app goes against the Apple Review Guidelines you will be fine.
Additional note that isn't in the guidelines
Your app must work on retina 4 inch (iPhone 5) otherwise it will be rejected.
Good luck with your submission.

Release of iOS 6.1 app with Xcode 5

I'm having trouble release an iOS 6.1 app with Xcode 5. During the development we worked on Xcode 4 and then switched to Xcode 5. The application is very large and is not optimized for iOS 7. So I used iOS 6.1 SDK to compile for both iOS 6.1. Application was tested with TestFlight and it worked flawlessly on both iOS 7 and iOS 6 devices. On both devices it had same iOS6 looks, which was satisfying.
The application base SDK is set to iOS 6.1 SDK and iOS deployment target is set to same 6.1 SDK.
We sent the application in the review and it was approved. When we released the application, we realized that it is run with iOS 7 looks on iOS 7 devices. This currently breaks our layout.
Is there any way to fix this and let application be released in iOS6 mode for now?
Yes , you can do that. You have to fix every Xib for both iOS 6.1 and iOS 7 so that user can get the UX standard in whichever version of iOS they use. You have to take care of several things. Like
Fix status bar overlapping issue , there are lots of disscussions in stackoverflow about it.
Use appropriate images that matches UX standard of corresponding version.
You have add new launch images/ icons for iOS 7.
etc in short.

Different UI behaviour for iOS 7

Recently, I uploaded my application to Apple store from XCode 4.x with OS 10.7. After that I upgraded my machine with Xcode 5.0 to start with iOS 7. Now I downloaded my application from the Apple' store to iPhone 4S with iOS 7 installed. I see application's UI on device is totally different from the iOS 7 simulator. On device navigation and Tab bar are old fashioned like iOS 6 while I am expecting like iOS 7.
I think the reason behind this that the application has been uploaded from XCode 4.x and when I will upload it from Xcode 5 it will show the latest UI of iOS7.
Do anyone facing the same problem? Do you think Apple should do it itself?
You understand it right. Applications must build and updated on xCode 5 for showing the new iOS design.
You must check your app on xCode 5 before uploading it as "iOS7 ready", Note that your app might work fine with the old design on iOS 6 but no one can check that for you as they might be UI problems and even crashes depending on your old UI and code.
If you are using 100% iOS native interface you should not have to much work.
You are app is built on iOS 6 SDK, To use iOS 7 UI features, build your app using iOS 7 SDK. iOS 7SDK will be available with xCode 5. SO upgrade to xCode 5 and build app against base SDK 7.
Xcode 7 doesn't exists ;)
Your problem is that you compiled your app with Xcode 4. Only Xcode 5 is embedding iOS 7 SDK. If you want to solve your problem you have to submit your app again but compiled with Xcode 5.
(don't forget to set your correct deployment target)

Xcode 4.5 with iOs 6 issue in iOs 4.3

I was developing iPhone/iPad apps using XCode 4.2. With the recent update, I upgraded my XCode to 4.5 with iOs6. And I developed an iPhone app with this. But the issue when I run the app in iPhone 3GS with iOs 4.3, it crashes some times. I couldn't find any specific or common reason for this crashes. It happens randomly, not when doing a specific action. But it happens very rarely in iPhone with iOs 5 and iOs 6. I tried to track the issue using Instruments, but still I couldn't find any reason. Some memory leaks are there, but it wasn't the issue.
So, I have some guesses, may be it is happening due to the device is 3GS? Or because, some codes that come with iOs 6 not supporting in iPhone 3GS or iOs 4.3. In the Xcode it is not showing any warning.
So, I am not sure, is there any possibilities for my guess??
Also, I would like to know, now we have iOs 6, so when we develop new app, should we still support iOs < 5? Or can we specify it needs iOs 5 or above as requirement?
Please give me some suggestions.
Regarding your first question - "App crashing randomly". You have mentioned that your app crashes on all the iOS versions - rarely on 5 & 6 but frequently on 4.3. If this is the case, then as per my experience, this issue is mainly related to "Low Memory". To verify this, debug your app on device and check your Debugger giving you "Low Memory Warning". This is the way you will find your issue.
Now regarding your second question - "which iOS to support". Answer to this would be iOS 5.0 and above - YES. Not all the iPhone/ iPad users have updated their devices to iOS 6. Also some of the users can't because of device issues. So you must provide support for iOS 5.0 at least. As per the latest stats iOS device users are hardly using iOS 4.x but iOS 5.x users are plenty enough. A lot of apps in App Store don't provide support for below iOS 5.0. So go for iOS 5.0 and above. Rest it depends on your requirements like if the app is pretty simple enough then providing support for below iOS 5.0 is not a headache.

We intend to support the iPhone 5, do we need to upgrade Xcode to v4.5 and use the iOS 6 SDK?

We want to update our game to support the iPhone 5.
Do we need to upgrade Xcode to v4.5 and use the iOS 6 SDK??
[edit]Apple is now explicitly rejecting applications submitted with the iOS 5.x SDK and iPhone 5 default images, saying "Your app contains a launch image with a size modifier that is only supported for apps built with the iOS 6.0 SDK or later."
Old answer :
Yes you can use Xcode 4.4 or below to support iPhone 5.
The iOS (6) will run an app in letterbox mode if there is not a 640x1136 splashscreen image in your resources. The image must be called Default-568h#2x.png (if your splashscreen is Default.png in your Info.plist).
So just add this image on your Xcode project whatever version it is, and the app will run in full screen mode.
This being said, there are chances that Apple will not let you install an app compiled with Xcode 4.4 or below on an iOS 6 device (and of course no iPhone 5 simulator for Xcode 4.4 and below). [edit] As told in the comments, yes, you can install on an iPhone 5 / iOS6 with Xcode4.4.
All apps created with older SDK works perfectly on newer iOS versions, so iPhone 5 should also run every existing app without any problem, so you don't need to use the iOS 6.0 SDK to support iPhone 5.
I think you mean to ask to support iOS 5. If that is the case then you really do not need to upgrade your Xcode version. YOu can use iOS SDK 5.0 or iOS SDK 5.1 which contains Xcode version 4.2 and 4.3.
You really do not need to use iOS SDK 6.0 beta. I hope this may help you.
All the information about iOS 6 are under NDA, and the iPhone 5 is not even announced.
But there are rumors, that the iPhone 5 will have a screen resolution of 1136*640. There are hacks for Xcode 4.4.1 out there that make it possible to create that screen resolution in the iPhone simulator. So, I think that would be a viable way for testing the rumored new resolution.
Regarding iOS 6: if you are a paying iOS developer, you can download iOS 6 to test your app against it (We don't talk about products under NDA here).
You can use this receipt http://0xced.blogspot.co.at/2012/08/prepare-your-apps-for-new-iphone.html for start iOS Simulator (iOS 5 only) with new screen size.
Yes, You need to update your Xcode to build for iPhone5. Do the following steps for this:
Download Xcode 4.5 with iOS 5.1 SDK.
Build your apps with Xcode 4.5.