App Centre UI Test Fails With Message Error: The .ipa file does not seem to be linked with Calabash framework. for Xamarin iOS

Craig McNicholas 96 Reputation points
2021-03-16T00:41:01.757+00:00

When publishing my ipa to test cloud I receive the above error. I have followed discussions in older articles:

https://forums.xamarin.com/discussion/59412/ipa-file-not-linked-with-calabash
https://forums.xamarin.com/discussion/85814/the-ipa-file-does-not-seem-to-be-linked-with-calabash-framework

etc.

I have double checked that I am:

  1. building in Debug
  2. My compiler directive looks like: DEBUG;ENABLE_TEST_CLOUD;
  3. I have added the code below to enable calabash in AppDelegate.FinishedLaunching

// starts calabash when built for test cloud
if ENABLE_TEST_CLOUD
Xamarin.Calabash.Start();
endif

The strange thing is if I remove the if compiler directive above and just put Xamarin.Calabash.Start(); in the function then it works as expected.

It's almost like my compiler directive is not being honoured but I have double and triple checked, see image below.

77943-image.png

Xamarin
Xamarin
A Microsoft open-source app platform for building Android and iOS apps with .NET and C#.
5,293 questions
Visual Studio Testing
Visual Studio Testing
Visual Studio: A family of Microsoft suites of integrated development tools for building applications for Windows, the web and mobile devices.Testing: The act or process of applying tests as a means of analysis or diagnosis.
328 questions
0 comments No comments
{count} votes

Accepted answer
  1. Craig McNicholas 96 Reputation points
    2021-03-16T10:11:05.163+00:00

    I managed to solve it.

    My Debug configuration was set to iPhoneSimulator rather than iPhone. Changing this my configuration settings allowed this to build correctly and now works with test cloud

    0 comments No comments

1 additional answer

Sort by: Most helpful
  1. Cole Xia (Shanghai Wicresoft Co,.Ltd.) 6,751 Reputation points
    2021-03-16T06:23:48.423+00:00

    Hello,

    Welcome to Microsoft Q&A!

    I'm not quite sure if this is the problem, but could you try to modify your code as below

       // add # at beginning  
       #if ENABLE_TEST_CLOUD  
                   Xamarin.Calabash.Start();  
       #endif  
    

    If the response is helpful, please click "Accept Answer" and upvote it.
    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.