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,362 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.
351 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.


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.