XcodesOrg / xcodes

The best command-line tool to install and switch between multiple versions of Xcode.
MIT License
3.67k stars 123 forks source link

Xcodes saves HTML contents into xip file #124

Open thii opened 3 years ago

thii commented 3 years ago
$ xcodes install 11.3.1
OSStatus error:[-25308] User interaction is not allowed.
Apple ID Password:
OSStatus error:[-25308] User interaction is not allowed.

(1/6) Found existing archive that will be used for installation at /Users/user/Library/Application Support/com.robotsandpencils.xcodes/Xcode-11.3.1.xip.
(2/6) Unarchiving Xcode (This can take a while)
The archive "Xcode-11.3.1.xip" is damaged and can't be expanded.
Removing damaged XIP and re-attempting installation.

(2/6) Unarchiving Xcode (This can take a while)
The archive "Xcode-11.3.1.xip" is damaged and can't be expanded.
$ cat ~/Library/Application\ Support/com.robotsandpencils.xcodes/Xcode-11.3.1.xip
<!DOCTYPE html>
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>

<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="Author" content="Apple Inc." />
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
<link rel="shortcut icon" href="/favicon.ico?51002006191" />
<link rel="icon" href="/favicon.ico?51002006191" />
<link rel="mask-icon" href="/apple-logo.svg?51002006191" color="#333333">

<link rel="stylesheet" href="/assets/styles/globalnav.css?53232023279" type="text/css" />
<link rel="stylesheet" href="/pagenotfound/styles/page-not-found.min.css?30232059190" type="text/css">

<script src="/assets/scripts/lib/jquery/jquery-1.11.0.min.js"></script>
<script src="/assets/scripts/global.js?31222044280"></script>
<script src="/assets/scripts/global-logout.js?03232056190"></script>

    <link rel="stylesheet" href="https://www.apple.com/wss/fonts?family=SF+Pro&v=1" type="text/css" />
<link rel="stylesheet" href="https://www.apple.com/wss/fonts?family=SF+Pro+Icons&v=1" type="text/css" />

    <title>Unauthorized - Apple Developer</title>
    <meta name="omni_page" content="Unauthorized" />
    <meta name="Description" content="The page you requested does not exist.">
</head>
<body class="status-page">

    <aside id="ac-gn-segmentbar" class="ac-gn-segmentbar" lang="en-US" dir="ltr">
</aside>
<input type="checkbox" id="ac-gn-menustate" class="ac-gn-menustate" />
<nav id="ac-globalnav" class="no-js" role="navigation" aria-label="Global" data-hires="false" data-analytics-region="global nav" lang="en-US" dir="ltr"
    data-www-domain="www.apple.com"
    data-store-locale="us"
    data-store-root-path="/us"
    data-store-api="/[storefront]/shop/bag/status"
    data-search-locale="en_US"
    data-search-locale="en_US"
    data-search-suggestions-api="/search-services/suggestions/"
    data-search-defaultlinks-api="/search-services/suggestions/defaultlinks/"
    data-search-suggestions-enabled="false">
    <div class="ac-gn-content">
        <ul class="ac-gn-header">
            <li class="ac-gn-item ac-gn-menuicon">
                <label class="ac-gn-menuicon-label" for="ac-gn-menustate" aria-hidden="true">
                    <span class="ac-gn-menuicon-bread ac-gn-menuicon-bread-top">
                        <span class="ac-gn-menuicon-bread-crust ac-gn-menuicon-bread-crust-top"></span>
                    </span>
                    <span class="ac-gn-menuicon-bread ac-gn-menuicon-bread-bottom">
                        <span class="ac-gn-menuicon-bread-crust ac-gn-menuicon-bread-crust-bottom"></span>
                    </span>
                </label>
                <a href="#ac-gn-menustate" role="button" class="ac-gn-menuanchor ac-gn-menuanchor-open" id="ac-gn-menuanchor-open">
                    <span class="ac-gn-menuanchor-label">Global Nav Open Menu</span>
                </a>
                <a href="#" role="button" class="ac-gn-menuanchor ac-gn-menuanchor-close" id="ac-gn-menuanchor-close">
                    <span class="ac-gn-menuanchor-label">Global Nav Close Menu</span>
                </a>
            </li>
            <li class="ac-gn-item ac-gn-apple">
                <a class="ac-gn-link ac-gn-link-apple-developer" href="/" data-analytics-title="appledeveloper home" id="ac-gn-firstfocus-small">
                    <span class="ac-gn-link-text">Apple Developer</span>
                </a>
            </li>
        </ul>
        <div class="ac-gn-search-placeholder-container" role="search">
            <div class="ac-gn-search ac-gn-search-small">
                <a id="ac-gn-link-search-small" class="ac-gn-link" href="/search/" data-analytics-title="search" data-analytics-click="search" data-analytics-intrapage-link aria-label="Search Developer">
                    <div class="ac-gn-search-placeholder-bar">
                        <div class="ac-gn-search-placeholder-input">
                            <div class="ac-gn-search-placeholder-input-text" aria-hidden="true">
                                <div class="ac-gn-link-search ac-gn-search-placeholder-input-icon"></div>
                                <span class="ac-gn-search-placeholder">Search Developer</span>
                            </div>
                        </div>
                        <div class="ac-gn-searchview-close ac-gn-searchview-close-small ac-gn-search-placeholder-searchview-close">
                            <span class="ac-gn-searchview-close-cancel" aria-hidden="true">Cancel</span>
                        </div>
                    </div>
                </a>
            </div>
        </div>
        <ul class="ac-gn-list">
            <li class="ac-gn-item ac-gn-apple">
                <a class="ac-gn-link ac-gn-link-apple-developer" href="/" data-analytics-title="appledeveloper home" id="ac-gn-firstfocus">
                    <span class="ac-gn-link-text">Apple Developer</span>
                    </a>
            </li>
            <li class="ac-gn-item ac-gn-item-menu ac-gn-discover">
                <a class="ac-gn-link ac-gn-link-discover" href="/discover/" data-analytics-title="discover">
                    <span class="ac-gn-link-text">Discover</span>
                    </a>
            </li>
            <li class="ac-gn-item ac-gn-item-menu ac-gn-design">
                <a class="ac-gn-link ac-gn-link-design" href="/design/" data-analytics-title="design">
                    <span class="ac-gn-link-text">Design</span>
                    </a>
            </li>
            <li class="ac-gn-item ac-gn-item-menu ac-gn-develop">
                <a class="ac-gn-link ac-gn-link-develop" href="/develop/" data-analytics-title="develop">
                    <span class="ac-gn-link-text">Develop</span>
                    </a>
            </li>
            <li class="ac-gn-item ac-gn-item-menu ac-gn-distribute">
                <a class="ac-gn-link ac-gn-link-distribute" href="/distribute/" data-analytics-title="distribute">
                    <span class="ac-gn-link-text">Distribute</span>
                    </a>
            </li>
            <li class="ac-gn-item ac-gn-item-menu ac-gn-dsupport">
                <a class="ac-gn-link ac-gn-link-dsupport" href="/support/" data-analytics-title="dsupport">
                    <span class="ac-gn-link-text">Support</span>
                    </a>
            </li>
            <li class="ac-gn-item ac-gn-item-menu ac-gn-account">
                <a class="ac-gn-link ac-gn-link-account" href="/account/" data-analytics-title="account">
                    <span class="ac-gn-link-text">Account</span>
                    </a>
            </li>
            <li class="ac-gn-item ac-gn-item-menu ac-gn-search" role="search">
                <a id="ac-gn-link-search" class="ac-gn-link ac-gn-link-search" href="/search/" data-analytics-title="search" data-analytics-click="search" data-analytics-intrapage-link aria-label="Search Developer"></a>
            </li>
        </ul>
        <aside id="ac-gn-searchview" class="ac-gn-searchview" role="search" data-analytics-region="search">
            <div class="ac-gn-searchview-content">
                <div class="ac-gn-searchview-bar">
                    <div class="ac-gn-searchview-bar-wrapper">
                        <form id="ac-gn-searchform" class="ac-gn-searchform" action="/search/" method="get">
                            <div class="ac-gn-searchform-wrapper">
                                <input id="ac-gn-searchform-input" class="ac-gn-searchform-input" type="text" name="q" aria-label="Search Developer" placeholder="Search Developer" autocorrect="off" autocapitalize="off" autocomplete="off" spellcheck="false" role="combobox" aria-autocomplete="list" aria-expanded="true" aria-owns="quicklinks suggestions" />
                                <button id="ac-gn-searchform-submit" class="ac-gn-searchform-submit" type="submit" disabled aria-label="Submit Search"></button>
                                <button id="ac-gn-searchform-reset" class="ac-gn-searchform-reset" type="reset" disabled aria-label="Clear Search">
                                        <span class="ac-gn-searchform-reset-background"></span>
                                    </button>
                            </div>
                        </form>
                        <button id="ac-gn-searchview-close-small" class="ac-gn-searchview-close ac-gn-searchview-close-small" aria-label="Cancel Search">
                                <span class="ac-gn-searchview-close-cancel" aria-hidden="true">
                                    Cancel
                                </span>
                            </button>
                    </div>
                </div>
                <aside id="ac-gn-searchresults" class="ac-gn-searchresults" data-string-quicklinks="Quick Links" data-string-suggestions="Suggested Searches" data-string-noresults=""></aside>
            </div>
            <button id="ac-gn-searchview-close" class="ac-gn-searchview-close" aria-label="Cancel Search">
                    <span class="ac-gn-searchview-close-wrapper">
                        <span class="ac-gn-searchview-close-left"></span>
                        <span class="ac-gn-searchview-close-right"></span>
                    </span>
                </button>
        </aside>
            </div>
</nav>
<div class="ac-gn-blur"></div>
<div id="ac-gn-curtain" class="ac-gn-curtain"></div>
<div id="ac-gn-placeholder" class="ac-nav-placeholder"></div>
<script src="/assets/scripts/ac-globalnav.built.js?52232023279"></script>

    <!-- metrics -->
<script>
    /* RSID: */
    var s_account="awdappledeveloper"
</script>   
<script src="/assets/metrics/scripts/analytics.js?10202020"></script>
<script>
    s.pageName= AC && AC.Tracking && AC.Tracking.pageName();
    s.channel="www.en.developer"
    s.channel="www.en.developer";

    /************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/
    var s_code=s.t();if(s_code)document.write(s_code)
</script>
<!-- /metrics -->

    <main class="main" data-page-type="overview" id="main" role="main">
        <h1 class="section-headline typography-headline">Sorry, you cannot view this page.</h1>
        <p class="intro">The Apple ID you signed in with does not have permission to view this page.</p>
        <p>If you’re currently a member of the Apple Developer Program, you or your <span class="nowrap">Account Holder</span> may need to update your account by agreeing to the latest license agreement in order to access this page. To view your current membership status and benefits, <a href="/account/?view=membership#/welcome">visit your account</a>.</p>
    </main>

    <link rel="stylesheet" href="/assets/styles/footer.dist.css?20232050198">
<footer id="footer" class="footer" role="contentinfo" aria-labelledby="footer-label">
    <div class="footer-content">
        <h2 class="footer-label" id="footer-label">Developer Footer</h2>
    <nav class="footer-breadcrumbs" aria-label="Breadcrumbs">
        <a href="/" class="home footer-breadcrumbs-home"><span aria-hidden="true" class="footer-breadcrumbs-home-icon"></span><span class="footer-breadcrumbs-home-label">Developer</span></a>
        <div class="footer-breadcrumbs-path">
            <ol class="footer-breadcrumbs-list">
                <li class="footer-breadcrumbs-item">Unauthorized</li>
            </ol>
        </div>
    </nav>
            <nav class="footer-directory with-5-columns" aria-label="Apple Developer Directory" role="navigation">
    <!--googleoff: all-->
    <div class="footer-directory-column">
        <input class="footer-directory-column-section-state" type="checkbox" id="footer-directory-column-section-state-discover" />
        <div class="footer-directory-column-section">
            <label class="footer-directory-column-section-label" for="footer-directory-column-section-state-discover">
                <h3 class="footer-directory-column-section-title"><a href="/discover/">Discover</a></h3>
            </label>
            <a href="#footer-directory-column-section-state-discover" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-open"> <span class="footer-directory-column-section-anchor-label">Open Menu</span> </a>
            <a href="#" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-close"> <span class="footer-directory-column-section-anchor-label">Close Menu</span> </a>
            <ul class="footer-directory-column-section-list">
                <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/ios/">iOS</a></li>
                <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/ipados/">iPadOS</a></li>
                <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/macos/">macOS</a></li>
                <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/tvos/">tvOS</a></li>
                <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/watchos/">watchOS</a></li>
                <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/safari/">Safari and Web</a></li>
                <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/games/">Games</a></li>
                <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/business/">Business</a></li>
                <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/education/">Education</a></li>
                <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/wwdc/">WWDC</a></li>
            </ul>
        </div>
    </div>
    <div class="footer-directory-column">
        <input class="footer-directory-column-section-state" type="checkbox" id="footer-directory-column-section-state-design" />
        <div class="footer-directory-column-section">
            <label class="footer-directory-column-section-label" for="footer-directory-column-section-state-design">
                <h3 class="footer-directory-column-section-title"><a href="/design/">Design</a></h3>
            </label>
            <a href="#footer-directory-column-section-state-design" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-open"> <span class="footer-directory-column-section-anchor-label">Open Menu</span> </a>
            <a href="#" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-close"> <span class="footer-directory-column-section-anchor-label">Close Menu</span> </a>
            <ul class="footer-directory-column-section-list">
                <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/design/human-interface-guidelines/">Human Interface Guidelines</a></li>
                <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/design/resources/">Resources</a></li>
                <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/videos/design/">Videos</a></li>
                <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/design/awards/">Apple Design Awards</a></li>
                <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/fonts/">Fonts</a></li>
                <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/accessibility/">Accessibility</a></li>
                <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/localization/">Localization</a></li>
                <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/accessories/">Accessories</a></li>
            </ul>
        </div>
    </div>
    <div class="footer-directory-column">
        <input class="footer-directory-column-section-state" type="checkbox" id="footer-directory-column-section-state-develop" />
        <div class="footer-directory-column-section">
            <label class="footer-directory-column-section-label" for="footer-directory-column-section-state-develop">
                <h3 class="footer-directory-column-section-title"><a href="/develop/">Develop</a></h3>
            </label>
            <a href="#footer-directory-column-section-state-develop" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-open"> <span class="footer-directory-column-section-anchor-label">Open Menu</span> </a>
            <a href="#" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-close"> <span class="footer-directory-column-section-anchor-label">Close Menu</span> </a>
            <ul class="footer-directory-column-section-list">
                <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/xcode/">Xcode</a></li>
                <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/swift/">Swift</a></li>
                <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/swift-playgrounds/">Swift Playgrounds</a></li>
                <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/testflight/">TestFlight</a></li>
                <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/documentation/">Documentation</a></li>
                <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/videos/">Videos</a></li>
                <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/download/">Downloads</a></li>
            </ul>
        </div>
    </div>
    <div class="footer-directory-column">
        <input class="footer-directory-column-section-state" type="checkbox" id="footer-directory-column-section-state-distribute" />
        <div class="footer-directory-column-section">
            <label class="footer-directory-column-section-label" for="footer-directory-column-section-state-distribute">
                <h3 class="footer-directory-column-section-title"><a href="/distribute/">Distribute</a></h3>
            </label>
            <a href="#footer-directory-column-section-state-distribute" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-open"> <span class="footer-directory-column-section-anchor-label">Open Menu</span> </a>
            <a href="#" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-close"> <span class="footer-directory-column-section-anchor-label">Close Menu</span> </a>
            <ul class="footer-directory-column-section-list">
                <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/programs/">Developer Program</a></li>
                <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/app-store/">App Store</a></li>
                <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/app-store/review/">App Review</a></li>
                <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/macos/distribution/">Mac Software</a></li>
                <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/business/distribute/">Apps for Business</a></li>
                <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/safari/extensions/">Safari Extensions</a></li>
                <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/app-store/promote/">Marketing Resources</a></li>
                <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/softwarelicensing/">Trademark Licensing</a></li>
            </ul>
        </div>
    </div>
    <div class="footer-directory-column">
        <input class="footer-directory-column-section-state" type="checkbox" id="footer-directory-column-section-state-support" />
        <div class="footer-directory-column-section">
            <label class="footer-directory-column-section-label" for="footer-directory-column-section-state-support">
                <h3 class="footer-directory-column-section-title"><a href="/support/">Support</a></h3>
            </label>
            <a href="#footer-directory-column-section-state-support" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-open"> <span class="footer-directory-column-section-anchor-label">Open Menu</span> </a>
            <a href="#" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-close"> <span class="footer-directory-column-section-anchor-label">Close Menu</span> </a>
            <ul class="footer-directory-column-section-list">
                <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/support/articles/">Articles</a></li>
                <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="https://developer.apple.com/forums/">Developer Forums</a></li>
                <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/bug-reporting/">Feedback &amp; Bug&nbsp;Reporting</a></li>
                <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/system-status/">System Status</a></li>
                <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/contact/">Contact Us</a></li>
            </ul>
        </div>
        <input class="footer-directory-column-section-state" type="checkbox" id="footer-directory-column-section-state-account" />
        <div class="footer-directory-column-section">
            <label class="footer-directory-column-section-label" for="footer-directory-column-section-state-account">
                <h3 class="footer-directory-column-section-title"><a href="/account/">Account</a></h3>
            </label>
            <a href="#footer-directory-column-section-state-account" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-open"> <span class="footer-directory-column-section-anchor-label">Open Menu</span> </a>
            <a href="#" class="footer-directory-column-section-anchor footer-directory-column-section-anchor-close"> <span class="footer-directory-column-section-anchor-label">Close Menu</span> </a>
            <ul class="footer-directory-column-section-list">
                <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="/account/ios/certificate/">Certificates, Identifiers &amp; Profiles</a></li>
                <li class="footer-directory-column-section-item"><a class="footer-directory-column-section-link" href="https://appstoreconnect.apple.com/">App Store Connect</a></li>
            </ul>
        </div>
    </div>
    <!--googleon: all-->
</nav>
        <section class="footer-mini" vocab="http://schema.org/" typeof="Organization">
    <div class="footer-mini-news">To view the latest developer news, visit <a href="/news/">News and Updates</a>.</div>
    <div class="footer-mini-locale dropdown-container language-dropdown hidden">
        <select class="dropdown" aria-label="Language Dropdown"></select>
        <span class="dropdown-icon icon icon-chevrondown" aria-hidden="true"></span>
    </div>
    <link rel="stylesheet" href="/assets/styles/language-dropdown.css?01232056190">
    <div class="footer-mini-legal">
        <div class="footer-mini-legal-copyright">Copyright ©  2020 <a href="https://www.apple.com">Apple Inc.</a> All rights reserved.</div>
        <div class="footer-mini-legal-links">
            <a class="footer-mini-legal-link" href="https://www.apple.com/legal/internet-services/terms/site.html" class="first">Terms of Use</a>
            <a class="footer-mini-legal-link" href="https://www.apple.com/legal/privacy/en-ww/">Privacy Policy</a>
            <a class="footer-mini-legal-link" href="/terms/">License Agreements</a>
        </div>
    </div>
</section>
    </div>
</footer>
</body>
</html>
interstateone commented 3 years ago

Thanks for opening this @thii. It's definitely wrong for xcodes to save an HTML response as a XIP. I have some questions about what you've posted though:

It appears that it might have downloaded the HTML file twice, because it finds a corrupt XIP and then redownloads another one. Can you reproduce this every time you run this xcodes install 11.3.1 command? Does it happen with other Xcode versions?

Do you get an error if you run xcodes update?

OSStatus error:[-25308] User interaction is not allowed.: I haven't seen this error before, but a quick search seems to indicate that it's related to accessing items in the keychain. Can you tell me more about the context in which you were running xcodes install 11.3.1? Please share as much as you can, but one specific question I have is was this via a login session with a GUI or over SSH?

The part below is interesting. I think this is a different message than #52, but I wonder if xcodes should be checking something else (either a response status code or a message like this in the body) to determine if the user needs to agree to the latest license agreement.

<p class="intro">The Apple ID you signed in with does not have permission to view this page.</p>
        <p>If you’re currently a member of the Apple Developer Program, you or your <span class="nowrap">Account Holder</span> may need to update your account by agreeing to the latest license agreement in order to access this page. To view your current membership status and benefits, <a href="/account/?view=membership#/welcome">visit your account</a>.</p>

Can you confirm that the account you're using is a member of a developer team, and see if there's a banner about agreeing to the latest license agreement when you sign in with it to access http://developer.apple.com/download/more/? It would be nice if there was something more than what's in the HTML body, like a unique status code, to represent this case, so the more info you can provide about this the easier it'll be to fix the issue.

Thanks for your help! 😄

thii commented 3 years ago

It seems I was using different Apple IDs. I was able to install it when forced using a specific account with the XCODES_USERNAME environment variable.

For other questions:

Does it happen with other Xcode versions?

I didn't try, but I would think so. After passing XCODES_USERNAME, I think it will update the username value in Keychain so the failure didn't happen gain.

Do you get an error if you run xcodes update?

Yes.

Was this via a login session with a GUI or over SSH?

First time, it was over SSH. Then I went to the machine and run it directly but the problem persisted.

Can you confirm that the account you're using is a member of a developer team, and see if there's a banner about agreeing to the latest license agreement when you sign in with it to access http://developer.apple.com/download/more/?

I can't figure out which account it was trying to use to log in, but I think this might be the reason.

chuchivic commented 3 years ago

Yo have to enter in the developer portal and accept the license agreement, after that if you try again to download with xcodes, it will work. First remove the wrong file just in case

fishcharlie commented 2 years ago

I just ran into the OSStatus error:[-25308] User interaction is not allowed. error as well. This is only occurring over SSH. When running directly in Terminal on the machine itself it works fine.

I'm running xcodes update to reproduce it.

Every time it asks me for my password, and after entering it it has the message again, but does list all the versions (which indicates that it worked). But I have to enter my password every time.

charliefish@Computer Folder % xcodes update
OSStatus error:[-25308] User interaction is not allowed.
Apple ID Password (*******@******.com): 
OSStatus error:[-25308] User interaction is not allowed.

Are there any workarounds for this?

I'd be happy to create a separate issue if needed. Just wanted to ask here first since it was brought up here (even tho I think it's a different issue).

muuvmuuv commented 2 years ago

Experiencing the same. New M1 iMac fresh Homebrew and fresh xcodes:

/D at 14:20:01
; xcodes install --path ~/Downloads/Xcode-13.2.0+13C90.xip 13.2.0
(2/6) Unarchiving Xcode (This can take a while)
The archive "Xcode-13.2.0+13C90.xip" is damaged and can't be expanded.

/D at 14:20:36
; cat ~/Downloads/Xcode-13.2.0+13C90.xip
<!DOCTYPE html>
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>

<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="Author" content="Apple Inc." />
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
<link rel="shortcut icon" href="/favicon.ico?08172144302" />

...
    <title>Unauthorized - Apple Developer</title>
    <meta name="omni_page" content="Unauthorized" />
    <meta name="Description" content="The page you requested does not exist.">

I guess the download source is broken and not responding with the appropriated contents?

muuvmuuv commented 2 years ago

Btw I am getting this error too from the download page so I guess the auth headers aren't set correctly: Any source here https://github.com/xcodereleases/data/blob/master/Sources/XCData/Xcode13.swift redirects to -> https://developer.apple.com/unauthorized/

muuvmuuv commented 2 years ago

Ok, I have this banner here, will fix this and try it again. Maybe you have that too, @thii? Got it here: https://developer.apple.com/account/

Bildschirmfoto 2021-12-15 um 14 37 48
muuvmuuv commented 2 years ago

This path here seems to work fine: https://download.developer.apple.com/Developer_Tools/Xcode_13.2/Xcode_13.2.xip

MattKiazyk commented 2 years ago

Thanks for the feedback - I will make a change to fix this now that I know how to handle those situations with having to accept new agreements.

muuvmuuv commented 2 years ago

Just a note, that the same error will come if you haven't yet accept the terms after registration or creation of an account through an admin. So, make sure to log in into developer.apple.com first and accept these :).

Luckily, after that, xcodes will remove the damaged xip and try it again, thanks!

MattKiazyk commented 1 year ago

Xcodes 1.0 can now download Xcode without having a username and password 🥳 Closing as we no longer have to worry about agreements!

Panajev commented 1 year ago

Hello @MattKiazyk could we reopen please? I am trying to switch from xcode-install (xcversion) to xcodes, but I am getting this same error (latest version of xcodes: 1.1.0):

xcodes install --latest
Updating...
Latest non-prerelease version available is 14.1

Downloading with aria2

(2/6) Unarchiving Xcode (This can take a while)
Using regular unxip. Try passing `--experimental-unxip` for a faster unxip process
The archive "Xcode-14.1.0+14B47b.xip" is damaged and can't be expanded.
Removing damaged XIP and re-attempting installation.

Updating...
Latest non-prerelease version available is 14.1

Downloading with aria2

(2/6) Unarchiving Xcode (This can take a while)
Using regular unxip. Try passing `--experimental-unxip` for a faster unxip process
The archive "Xcode-14.1.0+14B47b.xip" is damaged and can't be expanded.

I checked on App Store Connect and the Developer portal (I am an admin, but not the account holder) and I see no agreement I need to accept or that the account holder must accept. https://developer.apple.com/services-account/download?path=/Developer_Tools/Xcode_14.1/Xcode_14.1.xip --> this downloads just fine from the browser for me when I am logged in the account.

Also, if I try to install Xcode via xcversion it works (asks me to provide the 2FA code for my account and then downloads just fine):

xcversion install 14.1
Available session is not valid any more. Continuing with normal login.
Session loaded from environment variable is not valid. Continuing with normal login.
Two-factor Authentication (6 digits code) is enabled for account '<account>'
More information about Two-factor Authentication: https://support.apple.com/en-us/HT204915

If you're running this in a non-interactive session (e.g. server or CI)
check out https://github.com/fastlane/fastlane/tree/master/spaceship#2-step-verification

Please enter the 6 digit code you received at +44 ••••• ••••  [phone number edited]:
223512
Requesting session...
100   309  100   309    0     0    469      0 --:--:-- --:--:-- --:--:--   476%
100   305  100   305    0     0    230      0  0:00:01  0:00:01 --:--:--  297k
100   305  100   305    0     0    230      0  0:00:01  0:00:01 --:--:--  297k
MattKiazyk commented 1 year ago

@Panajev is the xip file a html file if you open it?

Panajev commented 1 year ago

It is an HTML file :/.

MattKiazyk commented 1 year ago

@Panajev can you try one thing. Can you browse to ~/users/xxxx/Library/Application Support/com.robotsandpencils.xcodes and delete any .xip's that are in there.

Then try again. Similar issues in the Xcodes UI were happening and this was a fix - https://github.com/RobotsAndPencils/XcodesApp/issues/320

Panajev commented 1 year ago

I will and report back :)! Thanks for the speedy replies.

Panajev commented 1 year ago

Tried it:

pwd
/Users/<user>/Library/Application Support/com.robotsandpencils.xcodes
rm -rf *
zsh: sure you want to delete all 2 files in /Users/<user>/Library/Application Support/com.robotsandpencils.xcodes [yn]? y

ls
xcodes install 14.0.1

Downloading with aria2

(2/6) Unarchiving Xcode (This can take a while)
Using regular unxip. Try passing `--experimental-unxip` for a faster unxip process
The archive "Xcode-14.0.1+14A400.xip" is damaged and can't be expanded.
Removing damaged XIP and re-attempting installation.

Downloading with aria2

(2/6) Unarchiving Xcode (This can take a while)
Using regular unxip. Try passing `--experimental-unxip` for a faster unxip process
The archive "Xcode-14.0.1+14A400.xip" is damaged and can't be expanded.

Same if I try to download/install 14.1, the *.xip file downloaded is HTML :/.

Schaefers commented 1 year ago

I see the same error after a fresh install, Application Support just contains available-xcodes.json.

MattKiazyk commented 1 year ago

@Schaefers @Panajev What is your MacOS version? Trying to figure out the similarities, as I see some errors coming from XcodesApp too, which all seem to be 13.0+

Schaefers commented 1 year ago

@Schaefers @Panajev What is your MacOS version? Trying to figure out the similarities, as I see some errors coming from XcodesApp too, which all seem to be 13.0+

I'm on 13.0.1 (22A400). But I'm seeing the same error on a 12.6.1 machine.

Panajev commented 1 year ago

@Schaefers @Panajev What is your MacOS version? Trying to figure out the similarities, as I see some errors coming from XcodesApp too, which all seem to be 13.0+

macOS Monterey, 12.6.1 I think, but I need to check the machine once I am back on it (it is not Ventura for sure though, the OS upgrade is still blocked by company policy :)).

Panajev commented 1 year ago

@Schaefers @MattKiazyk seems fixed by the 1.2.x release :). It does prompt for the AppleID data and can download (super super fast) the Xcode release needed. One step closer to get off of the great xcversions (xcode-install) tool.