deployment without physical access to device - deployment

I'm wondering if there is a way to show my App to customer before sending it to store.
(and if there is a way to unlock phone to deploy the app into remotely - but officially, nothing illegal).
I need to show "work in progress" to customer who can't visit me and I can't visit him. I have Develoepr Acc and he has some Windows Device he can test it on, but I don't know how to get the app to him before I submit it to store.

Yes you can.
Check this out http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff402565(v=vs.105).aspx
You can send the XAP of your project to your customer and he can deploy it on a developer unlocked device using the XAP Deployment Tool of Microsoft SDK. You can find your XAP in the Bin/Release folder of your project. Make sure you deploy your project on Release before you send it to your customer or upload on the store. Check this link you'll find out how to go about it.

Another method that is probably more applicable in many situations is to release a beta version of your app to the store. You'll be able to specify who can install it and you're required to email them a link to the app. The app is not available to the general public and will only work for 90 days from the time you publish it.
This method is more work for you but it lets you give the app to potentially thousands of users and doesn't require that they have a developer/unlocked device.
See this MSDN article for a how-to on releasing a beta application.

Related

iTunes Connect: How to forbid members to deploy to app store but not to QA

I have the following scenario for a small sized company:
We use testflight (through itunes connect) to provide test builds to the QA team. When we need to publish a new version to the App Store, we simply press the "publish" button on itunes connect. So far, no complicated stuff.
Now, the managers want that only specific people should be able to publish the app on the store.
I could change some roles in the member sections of itunes connect in order to prevent them to deploy the app. But if I'm not wrong, there is no role that allows a member to publish builds to testflight but not to the App Store (after all, it would be too troublesome to ask for authorization only to send builds to the QA team).
I read a little bit about the enterprise developer license. With this license we are able to provide builds quite easily to our QA employees but unfortunately we cannot deploy the app to the actual App Store.
What's the best way to solve this issue? Using the enterprise license to deploy app to the QA team and use the normal developer license to deploy the app on the Store? It sounds too complicated, isn't it a better way to do it ?
This may or may not solve your needs. There's a tool called fastlane that automates much of the process of uploading apps to itunesconnect. You could create a simple app that you gave to the people who may distribute apps to QA. The user the simple app would be related to (though not visible to those users, depending on how encrypted the information in the app is) would be able to run the command to send new builds with the fastlane- generated app. But only someone with the Apple ID and password would be able to enter the itunes connect and submit apps for Apple Approval.

Company App distribution without Company Hub app

We have developed a private WP8 application, and we have registered company account on Windows Phone Dev Center.
The next step is the development of "Company Hub app" which will take care for installation and available updates.
Since we have only one application, I think there is no need to develop "Company Hub app".
Is it possible that the application itself check for any available updates? (We plan to develop webservice for upgrades distribution).
Can I do the following:
Application Check for updates
If so, take the installation of a new version
The application installs a new version of itself. (If this is possible, how to do it?)
So far I have managed to find only examples with "Company Hub app"
Thanks
Selvir K
So far I have managed to find only examples with "Company Hub app"
That's because it's the only way.
To deploy applications on Windows Phone, you have three options:
Using the marketplace
Using the company hub: you get the benefits of the marketplace, but inside of your company network
Using the XAP deploy tool. The phone needs to be developer unlocked (it's a free operation now), there is a limit to the number of apps you can deploy this way on a phone, and you lose the benefits of automatic updates
One alternative way could be to publish an app on the marketplace and mark it as hidden. Only people who have the direct link to your app will be able to download it. Still, if the link to the app is somehow leaked outside of the company, you'll have no way to control who installs the app. So don't do that for critical/confidential applications.
I am in the exact same boat. We are working on our fist wp8 app and do not want a company hub.
I found if you use InstallationManager.AddPackageAsync(String, Uri) method within your app this will go to our website and download\install the xap file very easily. Of course once executed it appears to close your app so it can reinstall but for now this works fine for us.
I happened to see this post as I just finished developing a Windows Phone 8 app for a client, which was in a similar situation. I found publishing to Windows Phone Beta Store severed them the best for the moment for the main reasons below.
The distribution is totally in client's control. The apps in beta
store do not appear nor can be searched in public store. Client just need to send
emails with the app link to its employees. Only the people with the
Windows Accounts added into the tester's list are allowed to download
and install it. Up to 10,000 testers are allowed which is more than
enough for most of the business.
It is much easier to publish it in beta store compared to it is in the
public one. It does not require strict certification as it does in public store. It is an automatic process and only takes a few hours compared to up to two weeks in public store.
From the end users point of view, after it is installed there is no difference. It is the same app and it does not expire (as of today).

Install app on test users

I recently finished my app development and now I need to test it with fair amount of users. So I want to install it on my friends devices. It will be hard work to manually install the app from my Macbook on each device, So Is there a way to let them install the app themselves? Maybe send them a link or something..
You can use something like TestFlight App to automate the process of sending builds via email so your beta testers can click on a link and install the app directly on the device. You will however need to add their Device UUID's initially to your signing certificate for each build
You may use TestFlight service https://testflightapp.com.
This is a free service that allows you to define a test user base, inform & invite them and to distribute your app quite easily for them to be tested.
The basic logic is the same as Apple's, but it is just very easy to learn and use - even testers that are truly "normal" users of iPhone can easily be invited and start testing your app.
Here is a nice tutorial on distributing builds to your testers:
How to Host a Beta Test
They only way I think they would be able to do that is by having their devices registered on your Apple Developers account and they will need the provisioning licenses given by you.
Then once they have the project they can upload it to their device if they have a Macintosh.

How to test the final distribution build before submitting it for review to the iPhone app store?

I have developed an iPhone App and I want to test this final distribution build before submitting it to the App Store for review.
Is there any safe way to make this app to run on a device?
You might want to also check out Craig Hockenberry's "The final test" blog post.
Craig gives a method of testing where the only difference between what you test and what you submit is the signing identity.
No, you can't. This makes me a little nuts, too. If you set up an ad-hoc distribution profile, that is as close as you can get. On the "positive" side, you're guaranteed to have your app rejected if it can't be installed properly...
check this out, you can actually test a distribution build :
http://nikhilkerala.blogspot.com/2010/12/how-to-test-app-store-distribution.html
You can setup a beta through the iPhone portal program. You can then load the App and the associated profile onto a phone through iTunes or XCode.
I know this question is a little old, but I've recently found a better way of testing and distributing my Apps prior to submission and this method allows me to easily get it on real devices without having to have the device physically in my hands or have the user muck with provisioning profiles, certificates or iTunes syncing.
Developers can create an account on TestFlight and create a team.
After creating a team, invite testers to your team (click "Invite a Teammate" on the team's page). The tester will receive an invitation email to join your team and will be walked through the process of creating a basic account (name, email, password) and will have their device registered and their account will be added to your team.
Once you have your testers in place, go to your team's page and select all the testers, export their device information via the link and import that list into an Ad-Hoc distribution profile.
Import that profile (and the Ad-Hoc certificate) into Xcode and rebuild your project and share it as an *.ipa file.
Go back to your TestFlightApp.com team's page and upload the binary. All the testers on your team with access to the build will get an email notification about it. All they have to do is click "Install" in the email and they will be taken to a TestFlightApp.com page that will install the App on their device over the air, no iTunes, no mucking around with profiles, etc.
I tested it this morning actually and I'm very impressed with how easy it is and it also happens to be free.
It is actually possible to install the distribution build if you have once previously installed an Ad Hoc build on your phone. Most people simply never tried it =)
And no jailbreak is required. For step by step instructions, see my answer here:
Testing App Store "Distribution" version

How can I get an iPhone app to a client for review prior to public release?

I need to show an app I have developed to a client for review prior to its submission to the app store.
The client has an iPhone but not a mac on which to run xCode.
I have a personal (not company) iPhone developer account.
The client is too far away to visit in person.
What are my options?
If the client has iTunes, you can provision a build of your app specific to the client's iPhone ID (visible in iTunes). They just need to drag it into iTunes and then install it on their phone.
Plenty of docs about this in the Apple iPhone Developer site. Good luck!
Option #1:
Login to the iPhone developer portal website.
Add their iPhone UDID to the list of devices.
Generate a provisioning profile that includes your own test phone and theirs. Download the file (ends with .mobileprovision).
Double-click it to install it on your development machine.
Quit and restart XCode, then set your code signing identity to the name of this profile.
Build the binary.
In the left side of XCode "Groups & Files" bar look for Products (may need to expand the folder).
Select {yourapp}.app. Right click and choose 'Reveal in Finder.'
Now take that .app file and the .mobileprovision file you downloaded, zip them both up and send it to the client.
They will need to unzip the archive, then drag-drop the .app and .mobileprovision onto their iTunes and sync the phone. Your app should show up and run.
The portal site has more detailed instructions, but this is basically it in a nutshell.
Option #2:
Sign up with a screen sharing service like WebEx or glance.net (both work on Mac and Windows machines). Run the app in the simulator as they watch the screencast on their machine. If it's in the early stages of development, this is probably much more useful since they can give live feedback. In later stages, sending them the app is probably more useful. The nice thing about screen sharing is that they can take over the mouse and click around and explore while you're there to explain things.
Option #3:
Get a screen-recording app like SnapzPro or ScreenFlow and run the app in the simulator while recording a voice-over of its features. Send them a link to the movie. This is pretty useful if you're walking them through all the features. It's also handy if more than one person at a time needs to review the material. The advantage over #2 is that they can watch it over and over on their own time and take notes.
Depending on the stage of development, #3 is probably best in early stages, #2 in the middle, and #3 in the final steps.
I recommend having the client use the iphone configuration utility to install/uninstall early builds of the app. I am using this with my team and it lets you get direct access to the phone's console and error logs which is super handy when you're in the early stages of development. It also lets you manage the install/uninstall of the app and see the explicit version that you are installing in a much easier to manage way than itunes does.
Option #4:
Try https://testflightapp.com/ , this is easy for distribution of your app. Even Twitter Mirror is Using this to test their beta release.