Can't run Appium tests on iOS 10 on real device

Since updating my device and xCode to iOS 10 and Xcode 8, I have been unable to successfully setup Appium testing on a real device. However, I works fine on the simulator. Below is my setup of capabilities:

DesiredCapabilities cap = new DesiredCapabilities();

    File f = new File("/Path/App.ipa");

    cap.setCapability(MobileCapabilityType.APPIUM_VERSION, "1.6.0");
    cap.setCapability(MobileCapabilityType.PLATFORM_NAME, "iOS");
    cap.setCapability(MobileCapabilityType.PLATFORM_VERSION, "10.1.1");
    cap.setCapability(MobileCapabilityType.DEVICE_NAME, "iPhone 6 (Model MG472B/A)");
    cap.setCapability(MobileCapabilityType.UDID, "20a548dc87a87ecddf7ab3975a4b5f3395ac1a0");
    cap.setCapability("bundleId", "");
    cap.setCapability("noReset", "true");

    try {
        driver = new IOSDriver<WebElement>(new URL(""), cap);   
    } catch (MalformedURLException e) {
    } catch (Exception e) {

I’m faced with the error below:

  • User-entered values saved to Core Data (?) but not appearing in table view
  • Autolayout issue Xcode 8
  • get Blank Response Subscription Status URL IAP from Apple server, Status Update Notifications, statusUpdateNotification
  • objective C: Buttons created from subclass of UIButton class not working
  • Objective-C Blocks and variable scope
  • UITextView Inside UIScrollView Scrolling Parent as Text is Entered
  • ‘An unknown server-side error occurred while processing the command. Original error: Unknown device or simulator UDID: ‘xx’.

    Appium Log via link

    2 Solutions Collect From Internet About “Can't run Appium tests on iOS 10 on real device”

    Available devices: 20a548dc87a87ecddf7ab3975a4b5f3395ac1a0b [XCUITest]    Error: Unknown device or simulator UDID: '20a548dc87a87ecddf7ab3975a4b5f3395ac1a0' .

    This is the error you are getting you are giving wrong udid. you are missing ‘b’ in the end

    I was finally able to resolve the issues and run on a real device with the following steps:

    • I had omitted the last character in the UDID, added ‘b’ as suggested above.
    • Added the xcodeConfigFile and realDeviceLogger to the list of capabilities.
    • Ensured the correct development teams where set up on the WebDriverAgent.

    Anyone having issues, please feel free to write underneath this post. I spent two good days figuring things out the hard way.