Highlighted

Rejected by Apple because of iBeacon even though we are not using such thing

New Here ,
Aug 08, 2014

Copy link to clipboard

Copied

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.
  1. 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>

TOPICS
Performance issues

Views

3.6K

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more

Rejected by Apple because of iBeacon even though we are not using such thing

New Here ,
Aug 08, 2014

Copy link to clipboard

Copied

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.
  1. 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>

TOPICS
Performance issues

Views

3.6K

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Aug 08, 2014 0
Adobe Employee ,
Aug 11, 2014

Copy link to clipboard

Copied

If there is no entry for UIBackgroundModes in the Info.plist, there is no way an application would use the background services. Could you please follow-up with Apple on this? Has anybody else faced this issue?

-Neha

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 11, 2014 0
New Here ,
Aug 11, 2014

Copy link to clipboard

Copied

Hey, thanks for the reply.

We eliminated a possible suspect but want to get the app approved before revealing the culprit. We'll reply again as soon as apple finishes the review process.

Regards

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 11, 2014 0
New Here ,
Aug 11, 2014

Copy link to clipboard

Copied

From Juan Gril: Even though there was nothing about UIBackgrounds modes in the info.plist, Apple rejected it. They did continue to reject it even when we pointed that out.

We continued investigating on Friday, and we may found the culprit in an ANE from a third party service. This third party service was calling iBeacon in various parts of the code when we reviewed the binary file of the ANE. We re-submitted the game and we are now waiting from Apple to let us know.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 11, 2014 0
New Here ,
Aug 15, 2014

Copy link to clipboard

Copied

FIXED (for our project at least)

What the apple reviewer actually meant was that iBeacon was being enabled for the project but the info.plist didn't declare the use of location services which didn't make sense to them, I guess that implementations of iBeacon only make sense to apple if location services are used in the implementation. The problem with our project was that a third party ANE declared usage of iBeacon without us knowing anything about it and that was causing all the trouble. We contacted this third party and they updated the ANE. The game is up in the app store now.

Regards

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 15, 2014 0
Explorer ,
Aug 28, 2015

Copy link to clipboard

Copied

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Aug 28, 2015 0