代号为 iOS 的第一个问题恶魔二进制文件
Posted
技术标签:
【中文标题】代号为 iOS 的第一个问题恶魔二进制文件【英文标题】:Codename one issue devilering binary for iOS 【发布时间】:2017-11-09 20:02:57 【问题描述】:我刚刚尝试使用已加载的应用程序将 Codename One 应用程序的发布版本上传到 iTunes 连接并遇到此新错误;
注意:涂黑部分只是应用程序名称
该应用确实使用了条形码扫描库,因此很可能应该包含上述库 (libzbar),但它似乎位于 ipa 包中的错误位置。 这个应用程序从一开始就有条码扫描库,我们以前从未见过。
编辑: 这是项目中src文件夹的内容;
这里是native/ios;
注意:我已经涂黑了一些识别文件名
有问题的文件确实存在于 lib/impl/native/ios 文件夹中。但是在 git 中查看我们的项目历史,我可以看到这不是新增内容,它自 2016 年首次创建分支以来就一直存在。
编辑 2: 我的代号one_settings.properties 文件的内容;
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
编辑 3: 此问题是由 Copy Bundle Resources 中的一个额外条目引起的,该条目将整个 projectname-src 文件夹添加到包中,包括已复制的所有资源和所有库。 这是 XCode 的屏幕截图,其中包含从 CodeName One 构建服务器下载的项目源;
目前看来,解决方法是下载项目源代码并在 Mac 上从 XCode 构建并提交。
请注意确保还采取以下步骤;
选择正确的团队来签署应用程序 将目标设置为 iOS 8 将应用商店图标添加到应用图标 xcassets 文件 (1024*1024) 如果您的应用使用推送,则激活推送功能 将以下内容添加到信息部分(plist); 隐私 - 相机使用说明 隐私 - 媒体库使用说明 隐私 - 麦克风使用说明 隐私 - 照片库使用说明 从 Build Phases>Copy Bundle Resources 中移除“project name-src”【问题讨论】:
您能否提供项目中 src/* 层次结构中文件的屏幕截图?native/ios
下的文件列表也会有所帮助。您没有将任何文件复制到 src 层次结构中吧?
我已将其添加到我的帖子中
好的,这看起来是该文件的正确位置。您过去是否曾向应用商店提交过此应用的二进制文件? Application Loader 和 Mac OS 的版本是多少?过去,由于应用程序加载器版本较旧,我们遇到过类似的奇怪问题。
是的,肯定上传了该项目的大量构建以进行试飞,并且少数已在 iTunes 上上线。应用程序加载器版本是 3.7,可能在一两周前用 xcode 进行了更新。从那以后,我认为我没有成功提交任何其他构建。
编辑:我刚刚在另一台 Mac 上尝试过,它仍然有 3.6,它给出了同样的错误
【参考方案1】:
我们发现了一些行为不端的东西,但目前还不清楚为什么会这样。该错误与您得到的错误有点不同,我们没有看到 src 包含您看到的内容。但是,这可能是造成这种情况的原因。
我们将尝试在本周五(2017 年 11 月 24 日)的即将到来的更新中推出它。
【讨论】:
我今天刚尝试发送另一个版本,但我仍然看到这个问题 您要发送版本化的构建吗? 如果您是指代号的哪个版本,这是使用“最新”选项 在我上面看到的构建提示中,它被配置为 3.7 而不是最新的 我向你保证我发送并尝试了使用“最新”的构建以上是关于代号为 iOS 的第一个问题恶魔二进制文件的主要内容,如果未能解决你的问题,请参考以下文章