1
votes

I've just attempted to upload a release build of a Codename One app to iTunes connect using Application loaded and hit this new error;

Screenshot of error from application loader

note: the blacked out parts are just the application name

The app does use the barcode scanning library so likely should include the mentioned library (libzbar) however it seems to be in the incorrect location in the ipa package.
This app has had the barcode scanning library from the start and we've never seen this before.

Edit:
Here's the content of the src folder in the project;

content of src folder

and here is native/ios;

content of native/ios folder

note: I've blacked out some identifying file names

The file in question does exist in the lib/impl/native/ios folder. But looking at our project history in git I can see this is not a new addition, it's been there since the branch was first created in 2016.

Edit 2:
The content of my codenameone_settings.properties file;

1.arg.rim.obfuscation=false
baseClass=src/generated/StateMachineBase.java
codename1.android.keystore=*********.ks
codename1.android.keystoreAlias=*********
codename1.android.keystorePassword=*********
codename1.arg.android.captureRecord=false
codename1.arg.android.debug=false
codename1.arg.android.enableProguard=false
codename1.arg.android.facebook_permissions="user_about_me", "email"
codename1.arg.android.gradle=true
codename1.arg.android.newPeer=true
codename1.arg.android.playService.maps=true
codename1.arg.android.proguardKeep=\  -keep class net.sourceforge.zbar.** {*;} 
codename1.arg.android.release=true
codename1.arg.android.targetSDKVersion=23
codename1.arg.android.versionCode=*********
codename1.arg.android.xapplication=<activity android\:name\="com.dm.zbar.android.scanner.ZBarScannerActivity" android\:screenOrientation\="landscape"/> <meta-data android\:name\="com.google.android.maps.v2.API_KEY" android\:value\="*********"/>
codename1.arg.android.xpermissions=<uses-permission android\:name\="com.google.android.providers.gsf.permission.READ_GSERVICES"/><uses-feature         android\:glEsVersion\="0x00020000"         android\:required\="true"/><uses-permission android\:name\="android.permission.ACCESS_NETWORK_STATE"/><uses-permission android\:name\="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android\:name\="com.google.android.providers.gsf.permission.READ_GSERVICES"/><uses-feature         android\:glEsVersion\="0x00020000"         android\:required\="true"/><uses-permission android\:name\="android.permission.CAMERA"/><uses-feature android\:name\="android.hardware.camera" android\:required\="false"/>
codename1.arg.build.incSources=1
codename1.arg.build.version=*********
codename1.arg.facebook.appId=*********
codename1.arg.ios.add_libs=libc++.dylib;libicucore.dylib;libz.dylib;CoreData.framework;CoreText.framework;GLKit.framework;ImageIO.framework;SystemConfiguration.framework;CoreData.framework;CoreTelephony.framework;SystemConfiguration.framework;AdSupport.framework;
codename1.arg.ios.afterFinishLaunching=[GMSServices provideAPIKey\:@"*********"];
codename1.arg.ios.application_exits=false
codename1.arg.ios.bundleVersion=3.76
codename1.arg.ios.dsym=false
codename1.arg.ios.glAppDelegateHeader=\#import "GoogleMaps/GoogleMaps.h"\n\#import "GoogleMaps/GoogleMaps.h"
codename1.arg.ios.includePush=true
codename1.arg.ios.includePushEnt=false
codename1.arg.ios.interface_orientation=UIInterfaceOrientationPortrait\:UIInterfaceOrientationPortraitUpsideDown\:UIInterfaceOrientationLandscapeLeft\:UIInterfaceOrientationLandscapeRight
codename1.arg.ios.locationUsageDescription=*********
codename1.arg.ios.newStorageLocation=true
codename1.arg.ios.objC=true
codename1.arg.ios.plistInject=<key>NSAppTransportSecurity</key><dict><key>NSExceptionDomains</key><dict><key>*********</key><dict><key>NSIncludesSubdomains</key><true/><key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key><true/></dict><key>*********</key><dict><key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key><true/></dict></dict></dict>
codename1.arg.ios.pods=,GoogleMaps
codename1.arg.ios.pods.platform=7.0,7.0
codename1.arg.ios.pods.sources=,https\://github.com/CocoaPods/Specs.git
codename1.arg.ios.prerendered_icon=false
codename1.arg.ios.project_type=ios
codename1.arg.ios.statusbar_hidden=false
codename1.arg.ios.testFlight=false
codename1.arg.j2me.nativeThemeConst=0
codename1.arg.java.version=8
codename1.arg.rim.obfuscation=false
codename1.arg.win.ver=8
codename1.description=
codename1.displayName=*********
codename1.icon=icon.png
codename1.ios.appid=*********
codename1.ios.certificate=
codename1.ios.certificatePassword=
codename1.ios.debug.certificate=*********.p12
codename1.ios.debug.certificatePassword=*********
codename1.ios.debug.provision=*********.mobileprovision
codename1.ios.provision=
codename1.ios.release.certificate=*********.p12
codename1.ios.release.certificatePassword=*********
codename1.ios.release.provision=*********.mobileprovision
codename1.j2me.nativeTheme=nbproject/nativej2me.res
codename1.languageLevel=5
codename1.mainName=*********
codename1.packageName=*********
codename1.rim.certificatePassword=
codename1.rim.signtoolCsk=
codename1.rim.signtoolDb=
codename1.secondaryTitle=CodenameOne_Template
codename1.vendor=*********
codename1.version=3.7
guiResource=*********.res
mainForm=Main
package=generated
releaseVersion=3.7
userClass=src/userclasses/StateMachine.java
userClassAbs=*********StateMachine.java

Edit 3: This issue is caused by an extra entry in Copy Bundle Resources which is adding the entire projectname-src folder into the bundle including all resources already copied and all libraries.
Here's a screenshot from XCode with a project source downloaded from the CodeName One build server;

xcode build phase with erroneous step

For now it seems the work-around is to download the project source and build and submit it from XCode on a mac.

note make sure to also take the following steps;

  • select the correct team for signing the app
  • set the target to iOS 8
  • add an app store icon to the app icon xcassets file (1024*1024)
  • active the push capabilities if you app uses push
  • add the following to the info section (plist);
  • Privacy - Camera Usage Description
  • Privacy - Media Library Usage Description
  • Privacy - Microphone Usage Description
  • Privacy - Photo Library Usage Description
  • Remove "{project name}-src" from Build Phases>Copy Bundle Resources
1
Can you provide a screenshot of the files in your src/* hierarchy in the project? Also the list of files under native/ios would be helpful. You didn't copy any files into the src hierarchy right? - Shai Almog
I've added that to my post - peopletookallthegoodnames
OK this looks like the right location for that file. Did you ever submit a binary of this app to the appstore in the past? What's the version of the Application Loader and Mac OS? In the past we had weird issues like this due to older application loader versions. - Shai Almog
Yes definitely uploaded numerous builds of this project for test-flight as well as a handful have gone live on iTunes. Application loader version is 3.7, which likely was updated with xcode, a week or two ago. I don't think I've submitted any other builds successful since then. - peopletookallthegoodnames
EDIT: I just tried on another mac which still has 3.6 and it gave the same error - peopletookallthegoodnames

1 Answers

1
votes

We found something that's misbehaving but it's unclear why that happened. The error is a bit different than the one you are getting and we don't see the src include stuff like you see it. However, it might be the reason for this.

We will try to push it out with the coming update this Friday (November 24th 2017).