Both versions of my first App "Puffer's Train challenge" are currently sitting in the Apple queue "In Review". Saturday night I upgraded my iPhone 4 from 5.0 to 5.0.1 and also installed 5.0.1 on a new iPad 2.
Built & installed Lite versions of my app with iAds onto both devices. 5.0.1 initially caused both to crash. I was able to resolve that quickly (bad order of framework calls on my part) However! I spent the REST of Sunday trying to chase down any reason that test iAds are being served up to my iPhone (using wireless connection only to compare apples-to-apples), but the same code and the same calls fail with the error message "No inventory available" on my connected "wireless only" iPad 2.
App is built using xcode 4.2 for iphoneos, not universal, so I verified that the iAd framework call: ADBannerContentSizeIdentifierPortrait is returning 320x50 as it should. I "think" this rules out any problem that would be caused by different sized iAd requests.
Has anyone else experienced this same issue with Apple's test Ads using an iPad 2 device upgraded to 5.0.1? If so, I'd love to know that so I can stop (or at least slow down) pulling my hair out!
ps. Google's AdMob ads with which I replace iAds when not available, work Just Fine!
Because you're doing a Build & Install you're not using the Live (read: App Store) version of your app. This is why you're seeing Test Ads instead of actual Live ads.
Any time I've ever install an app to a device with Xcode I'm greeted with Test Ads from Apple. I believe this is because Apple intelligently looks at your app (either the version numbers or the provisioning file baked into the app) and knows that it's a developer build.
Now, if you're seeing Test Ads from the version of your app you've downloaded from the App Store then that's an entirely different problem. I've seen this as well but it doesn't sound like your problem.
Related
I spent many hours trying to figure this issue out. Apple continuously accepted my uploaded binary when I was submitting my app through XCode4.2, yet only to declare the binary invalid minutes later. It turned out that it was because I had placed the "Default-568h#2x.png" in my resources folder in an attempt to support iPhone 5's splash screen and eliminate "letterbox mode" (black top and bottom bars)... I am using a 2006 MacBook Pro, and thus am unable to upgrade to Lion OS or Xcode4.5. Also, I am able to build AdHoc versions for my customer that runs just fine on the iPhone 5 (filling its entire screen).
Does anyone know of a workaround I can implement to get Apple to accept my binary while still being able to support iPhone 5's larger screen (no black top or bottom bars)? If I re-name "Default-568h#2x.png" I am able to get Apple to accept my binary, but will I lose compatibility with iPhone5?
I found the following link in my search, which seems to suggest the startup image has nothing to do with the iPhone 5's letterbox mode, and can be labeled any name. However, I must admit, I am rather lost when the writer begins discussing 'viewports' and 'media queries'...
http://www.mobilexweb.com/blog/iphone-5-ios-6-html5-developers
Thanks in advance for any help you can offer!
Apple has made a deliberate decision to only allow two types of apps:
Apps built with XCode 4.4 and earlier, built for iOS up to version 5, including support for armv6 (required for iPhone 3G) but without support for iOS 6 and without support for the larger screen of the iPhone 5.
Apps built with XCode 4.5, built for at least iOS 4.3, possibly supporting the larger screens (Default-568h#2x.png) but without support for iOS before 4.3 and without support for the armv6 architecture (required for iPhone 3G).
All others apps are now rejected if you upload them to the App Store. Your app is rejected because it's includes Default-568h#2x.png and one the following things: either armv6 support or support for iOS before 4.3.
Without XCode 4.5, it's impossible to create an app the support the larger iPhone 5 screen and is accepted by Apple.
Some people have managed to build and upload applications the support both iPhone 3G and iPhone 5. But this is very tricky and requires a parallel installation of at least XCode 4.5 and one earlier version.
Update:
If I'm not mistaken, the crucial points for supporting the larger screen are:
The launch image Default-568h#2x.png
The setting of Base SDK being iOS 6 (or later)
If you add the launch image without setting the Base SDK to iOS 6, iTunes Connect will reject you app:
"Invalid Launch Image - You app contains a launch image with a size modifier that is only supported for apps built with the iOS 6.0 SDK or later."
Without XCode 4.5, you cannot select iOS 6 as the Base SDK.
I was able to install iOS 6.0 SDK on my XCode v4.2 following these instructions:
Is it possible to get the iOS 5.1 SDK for Xcode 4.2 on Snow Leopard?
Afterwards, I could create a binary with the below attributes that Apple would accept.
The launch image Default-568h#2x.png
The setting of Base SDK being iOS 6 (or later)
I have have a Mac mini from 2006, running Snow Leopard, Xcode 4.2. I was having the exact same problem with my submissions last night (May 2, 2013). Organizer uploads the app, and says all is fine. Within a couple of minutes The email below comes through. I did what the email suggested. Then I double checked, triple checked all settings, recreated certificates/profiles....still invalid binary.
Early in development, I was able to crack a dmg to get iOS6 installed on my machine. I put Default-568h#2x.png in my app. I tested ad hoc installations on a 5th gen iPod Touch - everything worked fine, BUT Apple won't accept my app.
I was going to get a new mac this year anyway. I'm heading to the Apple store to get one tonight. Here's the email from Apple:
Dear developer,
We have discovered one or more issues with your recent delivery for "Gazoodle Colours". To process your delivery, the following issues must be corrected:
Invalid Signature - Make sure you have signed your application with a distribution certificate, not an ad hoc certificate or a development certificate. Verify that the code signing settings in Xcode are correct at the target level (which override any values at the project level). Additionally, make sure the bundle you are uploading was built using a Release target in Xcode, not a Simulator target. If you are certain your code signing settings are correct, choose "Clean All" in Xcode, delete the "build" directory in the Finder, and rebuild your release target.
Once these issues have been corrected, go to the Version Details page and click "Ready to Upload Binary." Continue through the submission process until the app status is "Waiting for Upload." You can then deliver the corrected binary.
Regards,
The App Store team
Update: Got a new macbook pro, built my app with the latest Xcode (4.6.2) and resubmitted the app. My app is finally in the Waiting for Review state. Wasn't sure buying a new computer would solve the problem, but it was a good excuse to upgrade the hardware, and it actually fixed the invalid binary issue!
Apple has rejected my app due to the following reasons:
1) We found that your app crashed on iPhone 5 running iOS 6.0.1, which is not in compliance with the App Store Review Guidelines.
2) Your app crashed on launch on both Wi-Fi and cellular networks.
I'm running Xcode version 4.3.2, which isn't compatible with iPhone 5 i think, so i'm suggesting that my app rejected because i tested it in old Xcode version which doesn't support iPhone 5 architecture, right?
for the second reason Apple rejected my app i think because even my app doesn't use internet connection through the code i have to check the availability of internet connection on launch by taking advantage of Reachability library, right?
note that i tested my app on both simulator and actual devices all running iOS 5.1.1 and lower not iOS 6
any help? thanks on advance !
Simple:
Build, Debug, and Test using a more recent version of Xcode, using the Simulator and Devices (with iOS 6)
Remove the issues cited, and any other crashing issues
Re-Submit
Reachability is not necessary. Your app will need to to handle errors gracefully (not crash/explode/leak/fall into a weird state).
I have developed an iPad app which is currently in the testing phase. I have deployed it (using TestFlight) to several employees of the company.
One of these employees is overseas and has zero knowledge about how Apple products, iPads and iPhones work and has never really sync's it.
When he installs the app using testflight (or using IPA drop) it installs successfully but when he runs the app - the splash screen loads and then the app immediately closes. It remains in the list of open apps.
He is running iPad 2 GSM (4.3.5) and all the rest of the local employees are running iPad 2 Wi-Fi (5.0.1).
The base version of the app is set to 5.0 and deployment target 4.3.
How should I go about helping him - he is in a different country and I am not seeing any crash logs in TestFlight and I don't have physical access to his device.
Try to run you app in iPad 4.3 Simulator. Maybe you are using features available only in iOS 5.
If he can connect iPad and complete sync with iTunes, then you may as him to look up for crash logs in filesystem of computer. More details here: https://developer.apple.com/library/ios/#qa/qa1747/_index.html
Since you've already integrated the TestFlight SDK, you could look at using their checkpoint API to effectively trace through the application execution and determine where/why it's failing.
The other thing to look at is whether the app is taking too long to startup and is being killed by the watchdog timer.
I have an iPhone app in the app store, but I am having a problem with iAds. iAds are showing up as they should on iPhone 3G and iPhone 3GS phones that have downloaded the app, but the iAds are not showing up on any iPhone 4 phones. They are all running the latest software version (iOS 4.2.1). Also, both iPhone 4 and iPhone 3GS phones were both correctly displaying test iAds during my testing phase. Does anyone know what might be causing this issue? Thanks in advance.
The iAds service currently has a really low fill rate (ie, you won't receive an advert every time you request one and, particularly outside the US, are often quite a bit more likely not to receive one). Quite probably either what you're seeing is a coincidence or the particular ads that Apple happens to be running at the minute in your territory aren't being supplied for the iPhone 4 with your app's combination of other ad-relevant metadata (and exactly what Apple use is undisclosed, just assume all the information you supply about your app may be relevant when picking which adverts to serve).
If your app showed the test iAds correctly then it'll show proper iAds correctly. Since Apple require that you properly implement showing/hiding of the iAd bar based on whether you receive an advert, it's safe to assume that they test this feature of your app.
I need to add a calendar event to the user's Calendar when they click a button.
This works in the simulator, but when I attempt to deploy to my 3GS running iOS 4.01, XCODE throws 1000+ errors!
Any ideas?
Thanks!
Jason
I think that I solved this.
In Project > Edit Project Settings under the Architecture, I had the Base SDK set to iPhone 3.2. When I changed it to iPhone 4.0, it compiled and deployed to my iPhone 3GS running iOS 4.
I think that this is due to Event Kit being something that was added in iOS 4 and not available in earlier versions.
I was planning to target earlier devices. So, I guess it's back to the drawing board to come up with a solution to adding a reminder/event to the user's calendar.
Jason