Xamarin testcloud, ipa binary link calabash - ios

How I can link my ipa binary with calabash, for test in xamarin test cloud without build from xcode? I currently try with the optool from command line, but not work.

It is possible to link a prebuilt IPA with Calabash using Xamarin Test Recorder, however there are several limitations you should be aware of:
IPAs must be provided from the developer. Apps from the app store are encrypted in a way that Test Recorder is unable to interact with.
Test Recorder requires a valid development provisioning profile and signing identity that can sign the app locally. This is because when Test Recorder attempts to inject Calabash into the IPA it must be able to resign the app on the local system.
Test Recorder requires a iOS device you can deploy to based on the provisioning profile. This is almost an addendum to my last point, but it distinct because you will need a physical iOS device present for Test Recorder to record on; and it has to be included in the provisioning profile because that's an Apple requirement to install & run an app on a physical device.
Test Recorder is still in preview. As such, bugs & issues may be more common compared to working with the rest of the Test Cloud toolchain. Fixes may also be slower in being pushed out compared to the rest of the tools. However, you can still report Test Recorder issues to the Test Cloud support team for investigation by going to https://testcloud.xamarin.com and clicking on the "Support" link at the top right hand side of the window.
Note: This answer is tweaked from the answer I wrote to a very similar question in the Xamarin Forums here: https://forums.xamarin.com/discussion/100461/do-i-need-the-source-code-to-execute-xamarin-test-recorder#latest
More info on Xamarin Test Recorder: https://www.xamarin.com/test-cloud/recorder

Related

How to test Trivial Drive example on a phone

I need to put in-app payments into my app. There are two problem areas at present.
Get the TrivialDrive Example app so I can run it on my phone correctly and recompile and install it easily.
Discover the structure of the TrivialDrive app and pick the parts that are relevant to me.
any help is welcome
Using Android Studio 12.5 and Java
The key feature of testing in-app payments is that, although you need to publish the app in (at least Internal Testing) google Play, you can in fact side-load newer builds directly to your device. So it needs to exist in the Google Play app store but subsequent builds can be tested on your device without uploading it to Play.Google
https://docs.google.com/document/d/1oPHyYYWpcfTyXjideWhicAkd1R1N1OwSsPi1xHILFBM/edit?usp=sharing
This document explains straightforwardly the steps to get to debugging on your phone using logcat.

What's the most straightforward way to share an iOS app development build?

I'm developing a mobile app (using React Native for that matter), and I'd like to have one of the members of my team try it out.
With Android, I can just share the apk with them. Is there something similiar in iOS?
There is a bunch of tools to do this. Test Flight is not the easiest way to share a build because you need to submit it to the app store, it needs to be processed, pass through all the checks before someone can download it.
Whilst you should definitely use Test Flight to deploy official test versions, an internally used tool for alpha and beta versions is quicker and easier.
I would suggest a tool like Fabric Beta (currently owned by Google), which is a free app deployment + analytics tool. you will need to add some code to allow it to work but it is a simple process. It comes with a program to help deploy and you can plug it into most CI software.
You will need to ensure you have the device UUID's of people in your internal team to sign the application for their devices.
Test Flight is what you're looking for.
First though you need to add the UDID of your team member's device to the provisioning profile used to create the .ipa (iOS equivalent of an APK). But after that, just follow the information and tutorial(s) at the provided link.

How to get an Apple developer certificate for a PhoneGap app?

I've successfully used PhoneGap Build to build a PhoneGap app that works fine on Android devices, however, I also want to install the app on iPhones as well.
Whenever I build the app via PhoneGap Build, I get the following error for the iOS build:
You must provide a signing key, first. Find out how to fix this.
And if I click on the link in the error message, I go to the following page:
http://docs.build.phonegap.com/en_US/signing_signing-ios.md.html
Part of the process requires an Apple iPhone developer certificate file provided by Apple. I have searched quite a bit on how to do this and I have yet to get a clear answer. In other words, I don't know what to do.
So my question is: How do I get an Apple iPhone developer certificate file? Can someone please explain the process in simple English? Thank you.
By the way, I'm using a Windows PC and do not have access to an Apple computer with Mac OS.

Build on device from Xcode versus downloaded from TestFlight - Issues

I have an issue when running my project on my device, but only if it has been downloaded from testFlight. It works fine when I build directly from Xcode to device.
Potentially relevant details -
Using AVCaptureSession, my app records segments of video where it can switch between front/rear camera etc. I have handled orientation of each video so when playing back or merging with multiple videos they all play the correct way round.
The playback orientation works as expected on my devices when I've built directly from Xcode. Though from the app dowloaded from Testflight, the orientation of the videos are wrong way round.
Devices used iPhone 5S - 8.1 & iPad 2 7.1
As mentioned, this is only an issue from TestFlight builds. I've not posted any code as logic works fine from Xcode. I have used TestFlight a lot over the past year and not come across an issue like this before. It only seems isolated to this video playback.
If anyone has had similar issues and knows how to resolve or has suggestion, that would be much appreciated.
I discovered why my testFlight build was acting different from my Xcode build and it all came down to Build Configuration settings within Xcode
I edited scheme which which brought up build options and within the Run option I changed Build Configuration from Debug to Release.
Although this never solved the video issue, it did allow the app to act as it would on release. I will now be able to continue test of my issue, but thought other people experiencing differences in their Xcode and test builds may wish to know about this setting.
Do you happen to be using Swift. Apple changed their certs and added an extra field as part of the process. Existing certs do not work when including external libraries that include Swift code. I lost a good chunk of time to this. Here is the explanation form TestFlight competitor AirSign.
https://www.airsignapp.com/ios-apps-using-swift-crash-when-signed-with-inhouse-certificate/
If this is the case, the conclusion is generate a new cert and a new provisioning profile using the cert. You may have to revoke your old cert if you have too many.
If you build directly from your machine you are using your development Cert. If you go through TestFlight you are using you distribution cert. What happens if you take the distribution ipa that you are about to upload to TestFlight and try to install that directly onto you device. IF you can not install the app then there is an issue with your distribution cert. I also assume you tried building a new hello world type app and going through TestFlight and then adding AVCaptureSession in a new build of the app and trying that.
To make my life easier I use iFunBox to directly install test ipas directly on my machine bypassing iTunes. Great free app. Just launch, Choose Install on Device and choose the ipa
http://www.i-funbox.com/ifunboxmac/

sharing ios development between developer and non-developer

I'm about to make an individual iOS dev account, but I would like to share my work with a colleague or two for input that do not have an account (they have Xcode). They will look at the code maybe a bit, but mainly to test the app itself and provide feedback for me. Currently I don't have an account and what I have done is take a screencast of the app in the simulator and send the screencast. Obviously not ideal. So what are my options to share my progress on a daily basis? I think just to have them run in the simulator on their end is fine, until the app is almost complete then maybe on their phone would be good too. Thanks,
rc
A) look at testflight (testflightapp.com) - it's a site which allows you to email ad hoc builds of an app to testers.
B) put your code into version control and give them access. (ie GitHub.com) then they can build it themselves with Xcode onto their devices.
I'd go with A, it gives you more control and the potential for fewer support questions :)
I'm not sure why you would want non-developers looking at your code but I'd that's really needed, option B :)
The type of developer account you get and your ability to share your code are two unrelated issues. Unless you want your colleagues to be able to build your code and install it on test devices, they don't need developer program subscriptions. You can share your code with them in whatever way suits you (give them read access to your version control system), and you can build test versions that they can install on their devices. The only thing they won't be able to do is to build the app themselves for installation on a device.
If the main purpose is for testing, then get an enterprise certificate, sign the app with it and send the ipa file. They will install it and test the app.

Resources