iOS appstore submission using xcode command line tools - ios

I have come across various articles explaining how you can build and archive an iOS application using the command line tools packaged with xcode.
Is it possible to use the tools to validate and distribute the application to the appstore?
Edit following comment: I am looking to avoid using the GUI as I have multiple similar apps, so I'm looking to script the update process to make it faster (less manual).

You're looking for Transporter. It's included inside Application Loader, but there's now documentation on how to use it separately: (emphasis mine)
You can now use Transporter, Apple's command-line delivery tool, to deliver localized App Store metadata in bulk, including screenshots, rights and pricing, and more. Transporter can also find metadata for your existing apps so you can see how to correctly format the XML. To learn more about using Transporter and providing metadata, download the Transporter User Guide and the App Metadata Specification from the Manage Your Apps module in iTunes Connect.
Source: Apple News and Announcements for Developers; Aug 22, 2013

Related

Use Visual Studio Tools for Apache Cordova to create an xcarchive instead of ipa?

We're using Visual Studio Tools for Apache Cordova to build our app for iOS (and Windows).
We have a Mac running the remote agent. This works well, except we've only been able to have the setup produce signed .ipa files.
We're now looking into being able to create an unsigned "app" that we can deliver to our customer. They will then sign it with their enterprise certificate and distribute it within their orgainization (not the App Store).
The recommended way to deliver the app to the customer seems to be to create an xcarchive (I have looked at the option to deliver an ipa signed with our develoepr cert and then have the customer resign it with iReSign, but that seems flaky).
Is there a way to do that with this setup without any manual steps on the Mac?
Any pointers in the right direction would be much appreciated.
As far as i have analyzed, the easiest way to create an xcarchive is to use cocoon cloud service. Infact, it does gives the flexibility of generating both xcarchive and IPA.
Also you have full control of your build process as it provides various config controls and it is already used by some renowned companies.Suggest to have a look at cocoon platform once.
I know you have mentioned that you cannot rely on 3rd party service but it is the easiest approach as far as i my analysis. Also it may be useful for someone who is struck with a similar issue to give it a shot.

Inapp Purchase : Can we add bunch of products in itunes connect dynamically?

I have one Application,in that i need to add around 100 products for Inapp Purchase I know all the procedure doing manually one by one but do we have any other way to do add these many products in a bunch dynamically?
May be via some xls format file etc.
So can any one help me to find feasible solution.
Thanks.
You could use Transporter, Apple’s command-line tool used for sending App Store packages (.itmsp) to the App Store.
Check out App Metadata Specification and the Transporter User Guide in the footer of iTunesConnect's Manage Your Apps section.
Although I never used it, I also found this github project which seems to kinda simplify the required xml generation.
Hello I have find the solution so you can add multiple products from application loader
So open you application loader application (if not then down load it) then follow the bellow steps.
Application loader >> Create new package >> New from file
OR you can follow this Link for further detail.
Also check on this reference Link (Creating Your In-App Purchase section) document for more info.

Does BlackBerry support demo/beta releases for its app developers?

I am interested in developing an app for BlackBerry devices, and was wondering if they support the concept of demo or beta releases for their app developers? By this, I mean the ability to deploy a beta or demo version of my app to a limited/restricted audience, such as business partners, customers, external beta testers, etc. Nothing in their Testing and Deployment documentation indicates either way. Thanks in advance!
There isn't a built in beta process in App World for BlackBerry 10, but you can share the debug version of your app with your beta participants. When you create a debug token, you specify which PINs you want it to be valid for. The debug token will only install on a device with one of those PINs, and your app will only install on a device with your debug token on it. The token will only be valid for 30 days. You would have to deploy it with the command line tools and not App World.
This link on the BlackBerry Developer blog explains how to do it: http://devblog.blackberry.com/2012/04/debug-token/
It's for PlayBook, but the same process applies for BlackBerry 10 as well.
I actually don't know if RIM themselves have anything formal, but since I've always released BlackBerry apps on more than just the official App World store, I've used a beta testing system that is independent of RIM. Luckily, the legacy BlackBerry Java platform gives you the freedom to do this, free of charge. (Note that this answer is not about the upcoming BB10 platform!)
Over-the-Air (OTA) Installation
You can have your beta testers install your beta versions, Over-The-Air (OTA). Unlike iOS, for example, you aren't limited to a certain number of test devices, and you don't have to tell RIM what the unique identifiers of all the test devices are.
So, what I do is just put beta versions of my apps on a webserver, and send links to beta testers that allows them to download them. So, you are in control of who gets access. If you need security to limit the beta version to nobody except the official beta testers, then you are certainly free to add password protected logins to your webserver. That works the same way it would for any other secure web content.
If you do this (OTA), here are a few references:
http://www.blackberryinsight.com/2008/07/08/howto-setup-an-apache-webserver-to-deliver-blackberry-ota-applications/
Blackberry over the air installation
https://stackoverflow.com/a/10307074/119114
There are a couple steps to be aware of:
You normally just upload a .cod file to BlackBerry App World. If you want to deploy an app to your own webserver, you also need the .jad file. A JAD file is basically just a descriptor of the app, that can redirect a BlackBerry browser to the .cod file for installation. Your build process is already probably generating the .jad file for you, in the same output directory where it generates your .cod files.
You may need to configure your webserver to properly setup MIME types for files with a .jad extension. If you use Apache, then this is what you would put in your httpd.conf file:
AddType text/vnd.sun.j2me.app-descriptor jad
you may also need to add a MIME type definition for the .cod type, too
AddType application/vnd.rim.cod .cod
If you don't have access to the web server's httpd.conf file, but can place the JAD and COD in your own user directory, then you can configure the MIME types in a local .htaccess file.
Depending on your web server configuration, there may be a couple more steps necessary. Check the OTA links I provided above.
Desktop Installation
Another option is to simply email your beta versions to beta testers, and have them install on their devices using BlackBerry Desktop Software. I don't do this, but it is another way to accomplish the same thing. For this, you use the .cod file, and also the .alx file, which is also generated by the normal BlackBerry build process.
Note that some of the project properties that get put into the .alx or .jad files are things that you don't need to worry about if you only deploy the .cod file directly to BlackBerry App World. If you use one of the options (ALX for Desktop installation, or JAD for OTA), then I would recommend opening up the .alx or .jad file and just inspecting the values for correctness. They're normal text files, and most of the values should be self-explanatory. I believe all settings can be configured from inside your IDE. If you use the BlackBerry Eclipse plugin, right click on your project, select Properties and look around there.
Here are the official RIM docs on all your installation options
its not possible. When you publish your app in app world, it will be available to all users. So you cant set any special conditions like- available only to some people. Else make it in un published mode. Then only users with sandbox id can access your app.
Check the below link for BB 10 Cascades beta 3 release(Preferrable way of development in BB 10)
https://developer.blackberry.com/cascades/
For BB 10,they are plenty of ways for developing the applications ,check the below link
https://developer.blackberry.com/platforms/

IOS Game Center Achievement Upload

Is anybody aware of a way of uploading all the Achievements into Game Center within iTunes Connect?
I have about 30 achievements in 10 languages. That's a whole bunch of clicking, cutting and pasting to get the data from my source file into iTunesConnect. I notice there's a new feature to upload in app purchases. Is there something similar for achievements? Ideally there'd be a nice XML upload. Am I dreaming?
Thanks,
Dean.
There is a command line tool called "iTunes Connect Transporter" o just 'Transporter' to do just this. To get started login to iTunes Connect, goto "Manage Your Apps" and at the bottom there are several links. Under "Deliver of your Apps" you need the PDF files "Transporter User Guide" (the link to download Transporter is in this PDF) and "App Metadata Specification". With Transporter you can manage Game-Center Leaderboards and Achievements, and also all kinds of In-App Purchases.
To get you started try iTMSTransporter -m lookupMetadata ... (check the guide) to download existing IAP, Leaderboads and Achievements, and see the structure of the XML file you have to edit (you edit it with the Xcode editor). Everything will be downloaded to an .itmsp file which is just a package (iTunes package). You can enter into this package by ctrl-clicking the file and selecting "Show contents of package". Then you can add, edit all the contents of this package before uploading.
Also, I recommend running iTMSTransporter -m diagnostic to see if you have the required ports open.
I've used it and it works great. It takes a lot of time to configure a script to create the XML file the first time, but in the long run you save a LOT of time (and probably you do less mistakes too).
UPDATE:
Since this June 2013 iTMSTrasporter added the ability to upload app metadata (localized titles, descriptions, what’s new text, keywords, and screenshots, as well as territory rights, pricing, and availability), In-App-Purchase information and screenshots, hosted content (which I haven't used), and interval pricing (for the app itself and for IAP products). This makes iTMSTrasporter much more powerful.
By the way, when you introduce keywords you are only allowed 100 characters, and you can save a few characters by doing without spaces. So instead of: "keyword1, keyword2, keyword3, ..." you can put "keyword1,keyword2,keyword3,..." and it works.
Finally, a minor problem I encountered, if you create some Achievements or Leaderboards manually through iTunes Connect, and then try to reload or update some Achievements with iTMSTransporter, it will give you an error. But, if you create them with iTMSTransporter then you can update them without any problem as many times as you want.
I hope it helps!!
To upload or verify leader boards and achievements in bulk you have to use a command line tool iTMSTransporter which is installed in your Xcode package here:
/Applications/Xcode.app/Contents/Applications/Application Loader.app/Contents/MacOS/itms/ bin
You have to go to the directory where Transporter is installed in Terminal and use the various commands respectively. To use Transporter, you must have an iTunes Connect account with the Admin or Technical role.
WARNING!
You have to use "./" before the command which isn't mentioned in the Apple guide, like:
./iTMSTransporter ...
After you download the .itmsp package open it with "Show package content" and find a metadata.xml file, you can edit and upload it back.
If you have earlier achievements or leader boards you have to leave as they are just attach the new ones contrary to the earlier post!
The trick comes with the pictures.
If you have pictures you have to attach them to the itms package next to the metadata file, but you have to include the names etc in the metadata file. The best to make one achievement or leader board manually on iTunes Connect and download again the itms package and copy those data.
Be careful not to change anything in the original data just attach the new information.
It works well, but you have to wait until the servers propagate the new data.
I am dealing with the same issue, and after looking for a while, it would appear that there is no good solution except boring yourself to death cutting and pasting. With the fix for in app purchases, I would imagine a fix for this issue would be coming out soon.

Where are MAC OSX HTTP Live Streaming Tools

I am trying to install mediastreamvalidator, mediastreamsegmenter, mediafilesegmenter tools for my mac machine version 10.6.8.
As mentioned in below link about downloading required tools for development of Apple specified Http Live Server.
https://developer.apple.com/library/archive/documentation/NetworkingInternet/Conceptual/StreamingMediaGuide/UsingHTTPLiveStreaming/UsingHTTPLiveStreaming.html
As above article says:
The tools are frequently updated, so you should download the current
version of the HTTP Live Streaming Tools from the Apple Developer
website. You can access them if you are a member of the iPhone
Developer Program. One way to navigate to the tools is to log onto
connect.apple.com, then click iPhone under the Downloads heading.
After logging in to site connect.apple.com with Mac OSX developer credentials,
under download heading there is no tab named iPhone, i am unable to find this link.
If these tools are stored else where can some one please provide me the updated link?
I need these command lines for developing HLS server.
As I read on Apple web site, Mac OSX version 10.6 and above have these applications pr-installed and we don't need to install them using dgm files, but on my max machine i have only mediastreamsegmenter command line tools not all of them.
Can some one please provide me a link to download these command line tools or provide information on how to get these applications installed on my mac.
As mentioned by Stuart, you must be a member of the iPhone Developer Program in order to access these tools via the http://connect.apple.com link provided in the official documentation. More specifically, you must be a paid member. This fact caused me to lose several hours searching for the tools as I was a member of the iPhone Developer Program, but my annual membership had lapsed and the tools were consequently no longer available to me. What really got me was that the tools were still unavailable within the first few hours of renewing my membership. It took approximately 12 - 24 hours after I paid to renew my membership for them to show up in the list. Hope this helps someone down the road!
They seem to be well-hidden for whatever reason, but after a few wild goose chases, I found them.
You can start at the public-facing streaming page: https://developer.apple.com/streaming/
There is a "Downloads" link along the side. You'll be prompted to sign in to your Developer account, and then finally you get the actual download page here:
https://developer.apple.com/download/more/?=http%20live%20streaming%20tools
Here is a copy make from lastest version of HTTP Live Streaming Tools on ADC.
https://github.com/creeveliu/HTTPLiveStreamingTools
Download:
$ git clone https://github.com/creeveliu/HTTPLiveStreamingTools
To install it, you just need to double-click the StreamingTools.pkg and follow the instructions.
Once installed you will have these tools
/usr/local/bin/mediastreamsegmenter
/usr/local/bin/mediafilesegmenter
/usr/local/bin/mediasubtitlesegmenter
/usr/local/bin/variantplaylistcreator
/usr/local/bin/mediastreamvalidator
/usr/local/bin/hlsreport.py
/usr/local/bin/id3taggenerator

Resources