Hello all,
We are developing a game using Adobe Air and were rejected, here's the rejection letter:
Reasons
- 2.16: Multitasking Apps may only use background services for their intended purposes: VoIP, audio playback, location, task completion, local notifications, etc.
- 2.16
We found that your app uses a background mode but does not include functionality that requires that mode to run persistently. This behavior is not in compliance with the App Store Review Guidelines.
We noticed your app declares support for iBeacon in the UIBackgroundModes key in your Info.plist but does not include features that require persistent location.
It would be appropriate to add features that require persistent use of real-time location updates while the app is in the background or remove the "location" setting from the UIBackgroundModes key. If your application does not require persistent, real-time location updates, we recommend using the significant-change location service or the region monitoring location service.
For more information on these options, please see the "Starting the Significant-Change Location Service" and "Monitoring Shape-Based Regions" sections in the Location Awareness Programming Guide.
If you choose to add features that use the Location Background Mode, please include the following battery use disclaimer in your Application Description:
"Continued use of GPS running in the background can dramatically decrease battery life."
For discrete code-level questions, you may wish to consult with Apple Developer Technical Support. When the DTS engineer follows up with you, please be ready to provide:
- complete details of your rejection issue(s)
- screenshots
- steps to reproduce the issue(s)
- symbolicated crash logs - if your issue results in a crash log
If you have difficulty reproducing a reported issue, please try testing the workflow as described in <https://developer.apple.com/library/ios/qa/qa1764/>Technical Q&A QA1764: How to reproduce a crash or bug that only App Review or users are seeing.
It says "We noticed your app declares support for iBeacon in the UIBackgroundModes key in your Info.plist but does not include features that require persistent location." but our info.plist file declares nothing of the sort, the file is attached at the end of this post. Upon further investigation we discovered that the following libraries, included by the compiler, declare UIBackgroundModes=[location,audio] and listeners for iBeacon:
- flexSDK/lib/aot/lib/libDebugger2.arm-air.a
- flexSDK/lib/aot/stub/UIKit.framework/UIKit
The declarations can be seen if you look for the words UIBackgroundModes and beacon in the files.
Is there any way not to include the declarations for iBeacon in an adobe air app that doesn't need it?
Can you guys help us out?
info.plist:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleAllowMixedLocalizations</key>
<true/>
<key>CFBundleVersion</key>
<string>1.40.0</string>
<key>CFBundleShortVersionString</key>
<string>1.40</string>
<key>CFBundleIdentifier</key>
<string>com.505games.WickedGame</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleExecutable</key>
<string>wicked</string>
<key>CFBundleName</key>
<string>WICKED Game</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
<string>11B508</string>
<key>DTPlatformName</key>
<string>iphoneos</string>
<key>DTPlatformVersion</key>
<string>7.0</string>
<key>DTSDKBuild</key>
<string>11B508</string>
<key>DTSDKName</key>
<string>iphoneos7.0</string>
<key>DTXcode</key>
<string>0502</string>
<key>DTXcodeBuild</key>
<string>5A3005</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>MinimumOSVersion</key>
<string>6.1</string>
<key>NSMainNibFile</key>
<string>MainWindow</string>
<key>NSMainNibFile~ipad</key>
<string>MainWindow-iPad</string>
<key>CFBundleResourceSpecification</key>
<string>ResourceRules.plist</string>
<key>CFBundleDisplayName</key>
<string>WICKED Game</string>
<key>UIStatusBarHidden</key>
<true/>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
<key>CTAspectRatio</key>
<string>any</string>
<key>renderMode</key>
<string>direct</string>
<key>CTRequestedDisplayResolution</key>
<string>high</string>
<key>DebugMode</key>
<false/>
<key>EnablePingback</key>
<true/>
<key>CTNamespaceURI</key>
<string>http://ns.adobe.com/air/application/4.0</string>
<key>CTAutoOrients</key>
<true/>
<key>CTInitialWindowTitle</key>
<string>ios</string>
<key>CTInitialWindowContent</key>
<string>ios.swf</string>
<key>CTMaxSWFMajorVersion</key>
<string>23</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>iPhoneOS</string>
</array>
<key>UIStatusBarStyle</key>
<string>UIStatusBarStyleBlackOpaque</string>
<key>UIRequiresPersistentWiFi</key>
<string>NO</string>
<key>UIPrerenderedIcon</key>
<true/>
<key>UIApplicationExitsOnSuspend</key>
<false/>
<key>FacebookAppID</key>
<string>509901862398812</string>
<key>UIDeviceFamily</key>
<array>
<string>1</string>
<string>2</string>
</array>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>fb509901862398812</string>
</array>
</dict>
</array>
<key>iTunesAppID</key>
<string>693001332</string>
<key>ANEDebug</key>
<false/>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>armv7</string>
<string>opengles-2</string>
</array>
<key>CFBundleIconFiles</key>
<array>
<string>Icon-Ipad-152.png</string>
<string>Icon@2x-Large.png</string>
<string>Icon-Iphone-120.png</string>
<string>Icon@2x.png</string>
<string>Icon-Small-80.png</string>
<string>Icon-Ipad-76.png</string>
<string>Icon-Large.png</string>
<string>Icon.png</string>
<string>Icon-Small-50.png</string>
<string>Icon-Small-40.png</string>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeRight</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
</array>
<key>Extensions</key>
<array>
<string>com.hasoffers.MobileAppTracker</string>
<string>com.sticksports.nativeExtensions.SilentSwitch</string>
<string>com.milkmangames.extensions.RateBox</string>
<string>com.freshplanet.AirInAppPurchase</string>
<string>com.milkmangames.extensions.GoViral</string>
<string>com.chartboost.plugin.air</string>
</array>
<key>CTAirSdkVersion</key>
<string>14.0.0.110</string>
<key>CTHideAneSymbols</key>
<false/>
</dict>
</plist>