Question

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.

Was it helpful?

Solution

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

OTHER TIPS

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.

https://help.apple.com/itc/transporteruserguide/#/apdATD1E112-D1E1A1303-D1E112A1126

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.

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.

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.

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

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.

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.

In your mac - go to security and privacy - firewall option - click on '+' icon and add 'Application Loader' to that list.

Magic - Uploads works now.

Xcode users: check Very Slow App Upload/Communication Failure - Application Loader if you're using Charles proxy you might need to close it. If not then try simply to restart your network and/or Mac. Restarting network and Mac helped in my case.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top