可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
I was trying to upload the app store build zip file of my app to app store.
When using behind my office firewall, the TCP/IP connection failed.
I need to know what exact port should be open to upload iPhone application by using application loader. So that the port can be opened. Or any other configurations, if you know.
回答1:
Go to Preferences, Advanced, select DAV only.
This will use port 443 (aka HTTPS) for uploading.
There is no way the company will open those ports for me ;p
回答2:
I had the same problem.
The Application Loader Guide shows the range of IP addresses and ports that need opening.
After following the document I was able to successfully submit a binary for approval.
http://help.apple.com/itc/apploader/e3#/itc8e7ec5a60
回答3:
Seems there is no other way. You have to open all the ports of the firewall when you upload the app. The port shown here may not be consistent.
Here is a snapshot of the communication,
(src ip - dst ip - protocol - src_port > dst_port)
> 10.145.50.51 17.152.249.56 TCP 56358 > 33001
> 10.145.50.51 17.152.249.102 TCP 56373 > 44001
> 10.145.50.51 17.152.19.127 TCP 56369 > https
System and Network Requirements
Application Loader 1.3 requires a minimum OS version of Mac OS X 10.5.3.
Note: Because Application Loader is integrated with Xcode you can also deliver your binary directly from
Xcode. For more information on this delivery mechanism, review the Distributing Applications section in the
iOS Development Guide located in the iOS Dev Center.
The following table lists details about the servers Application Loader uses to deliver your application binary
files to the App Store. For the best upload experience, verify that all of the ports and IP addresses are accessible.
The following table lists details about the servers Application Loader uses to deliver packages and application binary files. For the best upload experience, verify that all of the ports and IP addresses are accessible.
<Server IP Address TCP Port UDP Port>
------- ---------- -------- ---------
itmsdav.apple.com 17.152.19.125 443 n/a
contentdelivery.itunes.apple.com
17.152.19.127 443* n/a
vgr101.apple.com 17.152.249.51 33001 33001-33500
vgr102.apple.com 17.152.249.52 33001 33001-33500
vgr103.apple.com 17.152.249.53 33001 33001-33500
vgr104.apple.com 17.152.249.54 33001 33001-33500
vgr105.apple.com 17.152.249.55 33001 33001-33500
vgr106.apple.com 17.152.249.56 33001 33001-33500
vgr107.apple.com 17.152.249.57 33001 33001-33500
vgr108.apple.com 17.152.249.58 33001 33001-33500
vgr301.apple.com 17.172.190.141 33001 33001-33500
vgr302.apple.com 17.172.190.142 33001 33001-33500
vgr303.apple.com 17.172.190.143 33001 33001-33500
vgr304.apple.com 17.172.190.144 33001 33001-33500
vgr305.apple.com 17.172.190.145 33001 33001-33500
vgr306.apple.com 17.172.190.146 33001 33001-33500
vgr307.apple.com 17.172.190.147 33001 33001-33500
vgr308.apple.com 17.172.190.148 33001 33001-33500
sgr201.apple.com 17.152.249.101 44001 44001-44500
Note: Because Apple periodically releases new versions and updates to its software, servers listed in the table may change mid-release.
回答4:
With the Application Loader v2.8 I tried to set the delivery mechanism to just DAV but that didn't help on Mountain Lion. Seems the Java-Backend of the Application Loader does not pick-up the proxy settings of the System. You you have to hack them in /Developer/Applications/Utilities/Application\
Loader.app/Contents/MacOS/itms/java/lib/net.properties
.
See http://blog.schneidexe.de/2013/08/apple-application-loader-und-proxy.html for more details.
回答5:
I need to set the proxy setting manually. I'm using Xcode 4.6.3 and have to set the proxy settings in "/Applications/Xcode.app/Contents/Applications/Application\ Loader.app/Contents/MacOS/itms/java/lib/net.properties"
https.proxyHost=
https.proxyPort=
http.proxyUser=
http.proxyPassword=
Then Application Loader.app successfully uploads my app to apple.
回答6:
Try the build and archive option under the build menu and submit it that way. It should work. That way you don't have to use the application loader. And you won't need to zip it either.
回答7:
in my case the problem was related to Java (Application Loader uses Java, and Java does not inherit the Mac's proxy settings). I had to set the proxy settings to Java.
If you are on a Mac OS pre-10.7.5 (more or less) just look for the Java Preferences application via the spotlight. If not, this SO question specifies another way of doing so.
回答8:
In your mac - go to security and privacy - firewall option - click on '+' icon and add 'Application Loader' to that list.
Magic - Uploads works now.
回答9:
I came across this issue too, when using Fastlane to automate the upload of binaries to App Store Connect.
The error message was saying that connection timed out.
The reason ended up being that Fastlane's Ruby script was using a java program in the background (visible from nettop), which ignored the proxy settings set in the bash profile or in my case .zshrc
To fix this, add this line in your bash profile:
export JAVA_TOOL_OPTIONS='-Dhttp.proxyHost=xx.xx.xx -Dhttp.proxyPort=xxxx -Dhttps.proxyHost=xx.xx.xx -Dhttps.proxyPort=xxxx -Dhttp.nonProxyHosts=xxx'
This will force the java runtime to use your desired proxy, and in my case, fixed the issue of fastlane failing to upload builds to App Store Connect.
Hopefully that helps someone