使用 xcode 上传档案:无效的前缀或后缀

Gui*_*ell 9 xcode app-store-connect

早上好,

我正在尝试通过 Xcode 上传我的第一个应用程序。一切看起来都很好。我创建存档,如果我运行验证应用程序,结果是有效的。

但是每当我尝试上传它时,它都会失败并显示以下消息:

执行时出现一般异常。发生异常:无效的前缀或后缀。

我没有发现任何类似的东西或任何可能发生的事情的提示。

任何帮助,将不胜感激。

更新:使用传输器得到这个日志

[2020-02-26 13:19:30 GMT-03:00] <main> DBG-X:   parameter Success = true
[2020-02-26 13:19:30 GMT-03:00] <main> ERROR: There was a general exception while executing
[2020-02-26 13:19:30 GMT-03:00] <main> ERROR: An exception has occurred: Invalid prefix or suffix
[2020-02-26 13:19:30 GMT-03:00] <main> DEBUG: java.lang.IllegalArgumentException: Invalid prefix or suffix
    at java.nio.file.TempFileHelper.generatePath(TempFileHelper.java:63)
    at java.nio.file.TempFileHelper.create(TempFileHelper.java:127)
    at java.nio.file.TempFileHelper.createTempFile(TempFileHelper.java:161)
    at java.nio.file.Files.createTempFile(Files.java:897)
    at com.apple.transporter.transport.http.impl.ObjectStoreTransport.transmitFilesForRequest(ObjectStoreTransport.java:455)
    at com.apple.transporter.transport.http.impl.ObjectStoreTransport.performDiagnostic(ObjectStoreTransport.java:435)
    at com.apple.transporter.transport.TransportByPodPolicy.performDiagnostic(TransportByPodPolicy.java:205)
    at com.apple.transporter.operation.Upload.performDiagnosticForTransport(Upload.java:474)
    at com.apple.transporter.operation.Upload.performUploadRequest(Upload.java:283)
    at com.apple.transporter.operation.Upload.performUploadRequest(Upload.java:129)
    at com.apple.transporter.operation.Upload.performRequest(Upload.java:1268)
    at com.apple.transporter.operation.Verify.execute(Verify.java:120)
    at com.apple.transporter.Application.reallyBegin(Application.java:224)
    at com.apple.transporter.Application.begin(Application.java:114)
    at com.apple.transporter.osgi.TransporterService.start(TransporterService.java:87)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.apple.transporter.starter.TransporterStarter.runService(TransporterStarter.java:476)
    at com.apple.transporter.starter.TransporterStarter.runTransporterService(TransporterStarter.java:450)
    at com.apple.transporter.starter.TransporterStarter.start(TransporterStarter.java:188)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.apple.transporter.bootstrap.BootstrapperPhase2.runStartable(BootstrapperPhase2.java:355)
    at com.apple.transporter.bootstrap.BootstrapperPhase2.runStarter(BootstrapperPhase2.java:317)
    at com.apple.transporter.bootstrap.BootstrapperPhase2.start(BootstrapperPhase2.java:130)
    at com.apple.transporter.bootstrap.BootstrapperPhase1.startOSGiFramework(BootstrapperPhase1.java:321)
    at com.apple.transporter.bootstrap.BootstrapperPhase1.bootstrap(BootstrapperPhase1.java:99)
    at com.apple.transporter.bootstrap.BootstrapperPhase1.bootstrap(BootstrapperPhase1.java:59)
    at com.apple.transporter.launcher.Launcher.launchBootstrapper(Launcher.java:37)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.apple.transporter.launcher.Application.start(Application.java:220)
    at com.apple.transporter.launcher.Application.main(Application.java:658)

[2020-02-26 13:19:30 GMT-03:00] <main> DBG-X: Returning 1
Run Code Online (Sandbox Code Playgroud)

也许与生成的 IPA 无关?

Igo*_*din 12

就在我开始反编译 .jar 文件以尝试对它们进行逆向工程时,我的同事告诉我他是如何解决这个问题的。这是纯粹的疯狂。

首先,使用 Transporter 应用程序(从应用商店获取)。打开它并转到首选项。取消选中“Signiant”传输协议,看起来像这样:

喜好

现在从您构建的存档中导出 .ipa 或 .pkg 包,将其放入 Transporter 并开始上传。

如何导出包:

转到管理器(窗口 -> 管理器),选择您的捆绑包并按“分发应用程序”。选择 App Store Connect -> 导出 -> ...


Kar*_*bur 8

tl;博士;

1) 将您的时区更改为 UTC 或

2)添加一行DEFAULT_JVM_OPTIONS="-Duser.timezone=UTC${DEFAULT_JVM_OPTIONS:+ $DEFAULT_JVM_OPTIONS}"到文件iTMSTransporter 之前JAVA_EXECUTABLE=${JVM_EXECUTABLE}。位于/Applications/Xcode.app/Contents/SharedFrameworks/ContentDeliveryServices.framework/Versions/A/itms/binXCode 或/Applications/Transporter.app/Contents/itms/binTransporter 的文件。在这个答案的时候。在可以更改的未来版本中。

细节:

我遇到了同样的问题,在花了大量时间在谷歌上搜索解决方案之后,我最终调试了传输器 jar 文件。原来它使用用户时区来生成一些临时文件,如果时区包含“/”,它将失败,因为它在文件名中是不允许的,因为它是文件夹分隔符。如此愚蠢的错误和传输器开发人员的耻辱!

我不是 Java 开发人员,对 Java 程序如何运行和处理所有这些 tmp 文件和时区的知识为零,因此不知道是否有其他方法可以解决该问题。如果有人最终会得到更好的解决方案,请分享。无论如何,我要报告一个错误。


Gui*_*ell 0

不知道具体原因,但更改 Wifi 连接有效。

找到有关此错误的更多信息: https://forums.developer.apple.com/thread/128983