Jump to content

[TOPIC: topicViewTemplate]
[GLOBAL: userSmallPhoto]
Photo

App rejected - 4th time - HELP!
Started by lessmsios Apr 24 2018 03:49 PM

8 replies to this topic
performance: accurate metadat itunes reject uirequireddevicecapabilities

Best Answer lessmsios , 08 May 2018 - 03:39 PM

Finally - this has been resolved. It has nothing to do with builds or info.plist files or build settings. The problem was all due to a "$" symbol at the end of my app name. Removed the "$" (actually renamed it totally) and now it's up for sale.

 

Thanks anyway for the feedbacks.

[TOPIC CONTROLS]
[/TOPIC CONTROLS]
[modOptionsDropdown]
[/modOptionsDropdown]
[reputationFilter]
[TOPIC: post.html]
#1

lessmsios

[GLOBAL: userInfoPane.html]
lessmsios
  • Contributor

  • 161 posts
  • Corona SDK

This is the 4th time for the same rejection. From Apple:

 

Guideline 2.3 - Performance - Accurate Metadata

 

We were still unable to install the app on iPhone and iPad. The UIRequiredDeviceCapabilities key in the Info.plist is set in such a way that the app will not install on an iPhone and iPad.

 

There is my build settings and the three info.plist files in the package. Is there no guru that can help???

settings = {
    splashScreen =
    {
        enable = false
    },
    orientation = {
        default = "portrait",
        supported = { "portrait", "portraitUpsideDown" }
    },
    
    iphone = {
        xcassets = "Images.xcassets",
        plist = {
            CFBundleIconFiles = {},
            UILaunchStoryboardName = "LaunchScreen",
            UIPrerenderedIcon = false,
            UIApplicationExitsOnSuspend = true,    
            NSAppTransportSecurity =
            {
                NSExceptionDomains =
                {
                    ["www.<mysite>.com"] =
                    {
                        NSIncludesSubdomains = true,
                        NSThirdPartyExceptionAllowsInsecureHTTPLoads = true,
                    },
                },
            },
        },
    },
    -- Android permissions
    android =
    {
        versionCode = "13",
        usesPermissions =
        {
            "android.permission.INTERNET",
            "android.permission.WRITE_EXTERNAL_STORAGE",
        },
        usesFeatures =
        {
            { name="android.hardware.camera", required=false },
            { name="android.hardware.location", required=false },
            { name="android.hardware.location.gps", required=false },
        }
    },
    plugins = {
        ["plugin.braintonik-dialog"] = { publisherId = "com.braintonik" },
        ['plugin.texttospeech'] = {publisherId = "com.spiralcodestudio"},
        ['plugin.progressRing'] = {publisherId = "com.schroederapps"},
    },
}

From App main payload:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>BuildMachineOSBuild</key>
    <string>17E199</string>
    <key>CFBundleDevelopmentRegion</key>
    <string>en</string>
    <key>CFBundleDisplayName</key>
    <string>Simple Pick$</string>
    <key>CFBundleExecutable</key>
    <string>Simple Pick$</string>
    <key>CFBundleIconFiles</key>
    <array/>
    <key>CFBundleIcons</key>
    <dict>
        <key>CFBundlePrimaryIcon</key>
        <dict>
            <key>CFBundleIconFiles</key>
            <array>
                <string>AppIcon20x20</string>
                <string>AppIcon29x29</string>
                <string>AppIcon40x40</string>
                <string>AppIcon60x60</string>
            </array>
            <key>CFBundleIconName</key>
            <string>AppIcon</string>
        </dict>
    </dict>
    <key>CFBundleIcons~ipad</key>
    <dict>
        <key>CFBundlePrimaryIcon</key>
        <dict>
            <key>CFBundleIconFiles</key>
            <array>
                <string>AppIcon20x20</string>
                <string>AppIcon29x29</string>
                <string>AppIcon40x40</string>
                <string>AppIcon60x60</string>
                <string>AppIcon76x76</string>
                <string>AppIcon83.5x83.5</string>
            </array>
            <key>CFBundleIconName</key>
            <string>AppIcon</string>
        </dict>
    </dict>
    <key>CFBundleIdentifier</key>
    <string>me.lessms.SimplePicksEdge</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleName</key>
    <string>Simple Pick$</string>
    <key>CFBundlePackageType</key>
    <string>APPL</string>
    <key>CFBundleShortVersionString</key>
    <string>1.13</string>
    <key>CFBundleSupportedPlatforms</key>
    <array>
        <string>iPhoneOS</string>
    </array>
    <key>CFBundleVersion</key>
    <string>2018.04.231619</string>
    <key>CoronaDelegates</key>
    <array/>
    <key>CoronaSDKBuild</key>
    <string>2018.3274</string>
    <key>CoronaViewSupportedInterfaceOrientations</key>
    <array>
        <string>UIInterfaceOrientationPortrait</string>
        <string>UIInterfaceOrientationPortraitUpsideDown</string>
    </array>
    <key>DTCompiler</key>
    <string>com.apple.compilers.llvm.clang.1_0</string>
    <key>DTPlatformBuild</key>
    <string>15E217</string>
    <key>DTPlatformName</key>
    <string>iphoneos</string>
    <key>DTPlatformVersion</key>
    <string>11.3</string>
    <key>DTSDKBuild</key>
    <string>15E217</string>
    <key>DTSDKName</key>
    <string>iphoneos11.3</string>
    <key>DTXcode</key>
    <string>0930</string>
    <key>DTXcodeBuild</key>
    <string>9E145</string>
    <key>LSRequiresIPhoneOS</key>
    <true/>
    <key>MinimumOSVersion</key>
    <string>8.0</string>
    <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSExceptionDomains</key>
        <dict>
            <key>www.viewdecide.com</key>
            <dict>
                <key>NSIncludesSubdomains</key>
                <true/>
                <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
                <true/>
            </dict>
        </dict>
    </dict>
    <key>NSAppleMusicUsageDescription</key>
    <string>NSAppleMusicUsageDescription should be set to a valid usage description</string>
    <key>NSBluetoothPeripheralUsageDescription</key>
    <string>NSBluetoothPeripheralUsageDescription should be set to a valid usage description</string>
    <key>NSCalendarsUsageDescription</key>
    <string>NSCalendarsUsageDescription should be set to a valid usage description</string>
    <key>NSCameraUsageDescription</key>
    <string>NSCameraUsageDescription should be set to a valid usage description</string>
    <key>NSContactsUsageDescription</key>
    <string>NSContactsUsageDescription should be set to a valid usage description</string>
    <key>NSHealthShareUsageDescription</key>
    <string>NSHealthShareUsageDescription should be set to a valid usage description</string>
    <key>NSHealthUpdateUsageDescription</key>
    <string>NSHealthUpdateUsageDescription should be set to a valid usage description</string>
    <key>NSHomeKitUsageDescription</key>
    <string>NSHomeKitUsageDescription should be set to a valid usage description</string>
    <key>NSLocationAlwaysUsageDescription</key>
    <string>NSLocationAlwaysUsageDescription should be set to a valid usage description</string>
    <key>NSLocationUsageDescription</key>
    <string>NSLocationUsageDescription should be set to a valid usage description</string>
    <key>NSLocationWhenInUseUsageDescription</key>
    <string>NSLocationWhenInUseUsageDescription should be set to a valid usage description</string>
    <key>NSMainNibFile</key>
    <string>MainWindow</string>
    <key>NSMainNibFile~ipad</key>
    <string>MainWindow-iPad</string>
    <key>NSMicrophoneUsageDescription</key>
    <string>NSMicrophoneUsageDescription should be set to a valid usage description</string>
    <key>NSMotionUsageDescription</key>
    <string>NSMotionUsageDescription should be set to a valid usage description</string>
    <key>NSPhotoLibraryAddUsageDescription</key>
    <string>NSPhotoLibraryAddUsageDescription should be set to a valid usage descripiton</string>
    <key>NSPhotoLibraryUsageDescription</key>
    <string>NSPhotoLibraryUsageDescription should be set to a valid usage description</string>
    <key>NSRemindersUsageDescription</key>
    <string>NSRemindersUsageDescription should be set to a valid usage description</string>
    <key>NSSiriUsageDescription</key>
    <string>NSSiriUsageDescription should be set to a valid usage description</string>
    <key>NSSpeechRecognitionUsageDescription</key>
    <string>NSSpeechRecognitionUsageDescription should be set to a valid usage description</string>
    <key>UIAppFonts</key>
    <array>
        <string>budmo_jiggler.ttf</string>
    </array>
    <key>UIApplicationExitsOnSuspend</key>
    <true/>
    <key>UIDeviceFamily</key>
    <array>
        <integer>1</integer>
        <integer>2</integer>
    </array>
    <key>UIInterfaceOrientation</key>
    <string>UIInterfaceOrientationPortrait</string>
    <key>UILaunchStoryboardName</key>
    <string>LaunchScreen</string>
    <key>UIPrerenderedIcon</key>
    <false/>
    <key>UIRequiresFullScreen</key>
    <true/>
    <key>UIStatusBarHidden</key>
    <true/>
    <key>UIStatusBarStyle</key>
    <string>UIStatusBarStyleBlackTranslucent</string>
    <key>UISupportedInterfaceOrientations</key>
    <array>
        <string>UIInterfaceOrientationPortrait</string>
        <string>UIInterfaceOrientationPortraitUpsideDown</string>
    </array>
</dict>
</plist>

From CoronaResources.bundle:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>BuildMachineOSBuild</key>
    <string>17E199</string>
    <key>CFBundleDevelopmentRegion</key>
    <string>English</string>
    <key>CFBundleIdentifier</key>
    <string>com.coronalabs.CoronaResources</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleName</key>
    <string>CoronaResources</string>
    <key>CFBundlePackageType</key>
    <string>BNDL</string>
    <key>CFBundleShortVersionString</key>
    <string>1.0</string>
    <key>CFBundleSignature</key>
    <string>????</string>
    <key>CFBundleSupportedPlatforms</key>
    <array>
        <string>iPhoneOS</string>
    </array>
    <key>CFBundleVersion</key>
    <string>1</string>
    <key>CFPlugInDynamicRegisterFunction</key>
    <string></string>
    <key>CFPlugInDynamicRegistration</key>
    <string>NO</string>
    <key>CFPlugInFactories</key>
    <dict>
        <key>00000000-0000-0000-0000-000000000000</key>
        <string>MyFactoryFunction</string>
    </dict>
    <key>CFPlugInTypes</key>
    <dict>
        <key>00000000-0000-0000-0000-000000000000</key>
        <array>
            <string>00000000-0000-0000-0000-000000000000</string>
        </array>
    </dict>
    <key>CFPlugInUnloadFunction</key>
    <string></string>
    <key>DTCompiler</key>
    <string>com.apple.compilers.llvm.clang.1_0</string>
    <key>DTPlatformBuild</key>
    <string>15E217</string>
    <key>DTPlatformName</key>
    <string>iphoneos</string>
    <key>DTPlatformVersion</key>
    <string>11.3</string>
    <key>DTSDKBuild</key>
    <string>15E217</string>
    <key>DTSDKName</key>
    <string>iphoneos11.3</string>
    <key>DTXcode</key>
    <string>0930</string>
    <key>DTXcodeBuild</key>
    <string>9E145</string>
    <key>MinimumOSVersion</key>
    <string>8.0</string>
    <key>NSHumanReadableCopyright</key>
    <string>Copyright © 2014 Corona Labs Inc. All rights reserved.</string>
    <key>UIDeviceFamily</key>
    <array>
        <integer>1</integer>
        <integer>2</integer>
    </array>
</dict>
</plist>

From LaunchScreen.storyboardc:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>UIStoryboardDesignatedEntryPointIdentifier</key>
    <string>UIViewController-01J-lp-oVM</string>
    <key>UIStoryboardVersion</key>
    <integer>1</integer>
    <key>UIViewControllerIdentifiersToNibNames</key>
    <dict>
        <key>UIViewController-01J-lp-oVM</key>
        <string>UIViewController-01J-lp-oVM</string>
    </dict>
</dict>
</plist>


[TOPIC: post.html]
#2

roaminggamer

[GLOBAL: userInfoPane.html]
roaminggamer
  • Corona Geek

  • 6,377 posts
  • Corona SDK

Hi.  I never saw an answer to my question in your other thread: https://forums.coronalabs.com/topic/72429-missing-infoplist-value

 

Did you take my advice and start using a recent daily build?

 

Also, I noticed you posted (in another thread) that you're using xCode 9.3. 

 

If moving forward to the latest Daily Build doesn't work, I think you might need to roll back to xCode 9.2.

 

Maybe someone else can confirm, but I think 9.2 is the current version we're expected to use.  



[TOPIC: post.html]
#3

lessmsios

[GLOBAL: userInfoPane.html]
lessmsios
  • Contributor

  • 161 posts
  • Corona SDK

For each submission a new build was used. The last submission used 3274. This is almost identical to a free version I previously submitted and everything passed (it didn't use the "plugin.braintonik-dialog" plugin). All of the info.plist files (except the storybook one) are generated by Corona.

 

I never had an app rejected before. The only thing different with this app is I'm using a purchased dialog plugin - "plugin.braintonik-dialog". I used a sliding side menu and my next step will be to remove that plugin and make the same effect myself.

 

I'm not rolling back anything. xCode is not the problem - building this app is - specifically in the info.plist file(s).



[TOPIC: post.html]
#4

roaminggamer

[GLOBAL: userInfoPane.html]
roaminggamer
  • Corona Geek

  • 6,377 posts
  • Corona SDK

And you're sure that xCode isn't contributing this weird plist issue?

 

OK.  That's about all I had.

 

By the way, I put out feelers on 9.2 versus 9.3 so if I get more data on that I'll post back.



[TOPIC: post.html]
#5

lessmsios

[GLOBAL: userInfoPane.html]
lessmsios
  • Contributor

  • 161 posts
  • Corona SDK

Oooooooo K - will try it with Xcode 9.2 - I'm desperate!



[TOPIC: post.html]
#6

SGS

[GLOBAL: userInfoPane.html]
SGS
  • Corona Geek

  • 1,723 posts
  • Corona SDK

Try removing this entry from your plist  CFBundleIconFiles = {} as this might be causing a mismatch with Images.xcassets.

 

Also, this is not recommended UIApplicationExitsOnSuspend = true,



[TOPIC: post.html]
#7

lessmsios

[GLOBAL: userInfoPane.html]
lessmsios
  • Contributor

  • 161 posts
  • Corona SDK

  Best Answer

Finally - this has been resolved. It has nothing to do with builds or info.plist files or build settings. The problem was all due to a "$" symbol at the end of my app name. Removed the "$" (actually renamed it totally) and now it's up for sale.

 

Thanks anyway for the feedbacks.



[TOPIC: post.html]
#8

roaminggamer

[GLOBAL: userInfoPane.html]
roaminggamer
  • Corona Geek

  • 6,377 posts
  • Corona SDK

Well that sucks.  I'm glad you figured it out.

 

:)

 

How did you end up figuring this out?



[TOPIC: post.html]
#9

lessmsios

[GLOBAL: userInfoPane.html]
lessmsios
  • Contributor

  • 161 posts
  • Corona SDK

It was a guess. Last night I was running through all things I'd changed and tried and wondered if the "$" was the problem. This morning I changed the graphics (thought of better one) and the name, rebuilt, submitted. Think the iTunes Connect people were feeling sympathetic and almost immediately put it into review, then a few hours after that - put it on the app store.

 

Also - I had contacted Apple Tech Support and the guy took on the challenge. He couldn't figure out what the problem was either but after I posted the change he sent me another email with the error he was getting and his suggestion:
 

default    10:33:06.207870 -0700    installd    0x16fc73000 +[MICodeSigningVerifier _validateSignatureAndCopyInfoForURL:withOptions:error:]: 147: Failed to verify code signature of /private/var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.J0sE2h/extracted/Payload/Simple Pick$.app : 0xe8008017 (A signed resource has been added, modified, or deleted.)
 
"One idea which we wondered about - the use of the “$” in the name of the app."



[topic_controls]
[/topic_controls]

Also tagged with one or more of these keywords: performance: accurate metadat, itunes reject, uirequireddevicecapabilities