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;
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;
and here is native/ios;
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;
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




native/ioswould be helpful. You didn't copy any files into the src hierarchy right? - Shai Almog