"Disallowed paths ( "iTunesMetadata.plist" ) found at ..." when submitting to App Store

2

Posts

  • BenLevy.4265BenLevy.4265 USMember ✭✭

    THANK YOU @DavidCarrigan

    Solution worked perfectly. All I did was add above to my iOS csproj file as described above. Followed my usual build process.

    • Using Visual Studio on a PC.
    • Xamarin 3.9.547.0
    • Build from VS and copy ipa to Mac.
    • Upload to iTunes using Application Loader
  • LoanBurgerLoanBurger NZMember ✭✭

    Confirm - @DavidCarrigan's fix worked perfectly for me as well. Thanks.

  • JoelKnottJoelKnott USMember

    @DavidCarrigan has the most effective and straightforward fix! Thanks, that worked perfectly.

  • felixjeneaufelixjeneau USMember
    edited May 2015

  • DominicRobertsDominicRoberts USMember ✭✭

    @DavidCarrigan Work around is simple and effective. Thanks.

  • DuncanStodartDuncanStodart AUMember

    Any news on when the command line build will be sorted out? We have an automated build process that sets version info etc then uses mdtool to do the build?
    Or will we have re-work out entire build process somehow?

    (NB calling xbuild for the project fails, presumably because the mdtool setups up a whole bunch of dependency info that xbuild does not know about - there are six projects (assemblies) the app depends on).

  • BrendanZagaeskiBrendanZagaeski USForum Administrator, Xamarin Team Xamurai

    Fixes are now available on the Alpha updater channel for both command line and IDE builds on both Mac and Windows. I have update the first post in the thread with details about using these new builds.

    The current plan is to publish the fixes for this specific "iTunesMetadata.plist" problem to the Stable channel as hotfixes within the next few days. (The other fixes from the current Alpha channel will remain on Alpha/Beta for a while longer.)

  • GuiWaltrickeGuiWaltricke BRMember ✭✭

    Thanks @DavidCarrigan works here!!!

    Using MS VS!!! and uploading via Application Loader.

  • EldonTenorioEldonTenorio PHUniversity

    Thanks for the workaround.

    "Alternate workaround for Xamarin Studio on Mac" - following the step-by-step instructions here successfully submitted my app to the AppStore.

    More power!

  • KimNieblingKimNiebling DKMember ✭✭

    Thank you @DavidCarrigan!

    By now, when I build my .ipa, the iTunesMetadata.plist is no longer included.

  • pauldpauld USMember ✭✭

    I have installed monotouch-8.10.0.300.pkg, per the May 18 update, but now I get a build error when using Build -> Archive For Publishing in Xamarin Studio Mac 5.9.1 (build 3):

    /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/iOS/Xamarin.iOS.Common.targets: error : Failed to move 'obj/iPhone/AppStore/ipa/Payload/MyApp.app/iTunesMetadata.plist' to 'obj/iPhone/AppStore/ipa/iTunesMetadata.plist': Win32 IO returned ERROR_ALREADY_EXISTS. Path:

    My project's build configuration is called 'AppStore', not 'Release' if that makes a difference.

  • BrendanZagaeskiBrendanZagaeski USForum Administrator, Xamarin Team Xamurai

    @pauld, hopefully the following footnote that I just recently added to the first post in the thread will resolve the issue:

    [3] If you see a "Failed to move ... iTunesMetadata.plist" error, try explicitly clean each project in the solution and then building again. If you prefer, you should also be able to stop the error by deleting just the 1 destination file (obj/iPhone/AppStore/ipa/iTunesMetadata.plist). This problem will be fixed in a future release.

    Failed to move 'obj/iPhone/AppStore/ipa/Payload/UnifiedSingleViewIphone1.app/iTunesMetadata.plist' to 'obj/iPhone/AppStore/ipa/iTunesMetadata.plist': Win32 IO returned ERROR_ALREADY_EXISTS.

  • MattBrown.5923MattBrown.5923 USMember

    @Brian_Snoddy I have managed to get my application to build by using the fix to the .csproj file that @BrendanZagaeski posted on page 1.
    I did try the unpack and repack solution, but I had problems with signing the app again.

  • TravisWhiddenTravisWhidden USBeta

    @AndyHopper 's solution worked for me. This thread made my eyes glaze quick, but his quick shell script was f'n great. Thanks man.

  • Brian_SnoddyBrian_Snoddy USUniversity ✭✭

    @MattBrown.5923 Thanks. I just had a chance to take a look at this. After modifying the .csproj file everything works expected.

  • BrendanZagaeskiBrendanZagaeski USForum Administrator, Xamarin Team Xamurai

    Update May 21

    The fixes for the issue in this thread are now available in the Stable updater channel for both command line and IDE builds on both Mac and Windows. I have update the first post in the thread with details about using these new builds.

    You are of course welcome to keep using the old workaround of explicitly overriding <Target Name="_CompileITunesMetadata" ..> if that's working well for you. But there should no longer be a requirement to include the explicit override. (Just be sure to un-check "Include Artwork in IPA" as discussed in the first post in the thread.)

  • softlionsoftlion FRBeta ✭✭✭

    I have an error when building the IPA from Visual Studio:

    Error: Failed to move 'obj/iPhone/AppStore/ipa/Payload/AcTouch.app/iTunesMetadata.plist' to 'obj/iPhone/AppStore/ipa/iTunesMetadata.plist': Win32 IO returned ERROR_ALREADY_EXISTS. Path:

    I have already unchecked the "Include Artwork in IPA" box.
    Cleaning / rebuilding does not work today for this issue.

    Any idea ?

  • BrendanZagaeskiBrendanZagaeski USForum Administrator, Xamarin Team Xamurai

    @softlion, hopefully you're using the Beta or Alpha channel? A fix for that problem was included in the Stable channel hotfix yesterday, but there hasn't yet been a new Beta + Alpha re-release to get that fix out on those channels (as discussed briefly in the updated footnote [3] in the first post in the thread).

    If that problem is "stuck" for your particular app (for example, if it happens even after manually deleting all the bin and obj folders in the solution and deleting all the corresponding build cache folders under $HOME/Library/Caches/Xamarin/mtbs/builds on the Mac), then you can remove the problematic Move Task that fails, and instead use one of the "old workarounds" for this problem (like explicitly overriding <Target Name="_CompileITunesMetadata" ..>).

    Deleting the problematic Move task

    In C:\Program Files (x86)\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.targets, look for the following section and delete it:

    <Move
        SessionId="$(BuildSessionId)"
        Condition="'$(MtouchTargetsEnabled)' And '@(_ITunesSourceFile)' != ''"
        SourceFiles="@(_ITunesSourceFile)"
        DestinationFolder="$(IntermediateOutputPath)ipa"
    />
    
  • EdwardAbramianEdwardAbramian USMember ✭✭
    edited May 2015

    I spent several hours trying to solve this issue until i stumbled upon this thread. This is insane that such CRITICAL issue doesn't get fixed in weeks and make customers spend hours if not days of their time looking for solution.

    David, thanks for the work around.

  • KentPickard.4186KentPickard.4186 USMember
    edited May 2015

    @BrendanZagaeski - Following the latest instructions under "For command line (Unified API) builds on Mac" did not work for me. I added the IpaIncludeArtwork=false line (can't figure out how to put xml in here) to the csproj but when I re-loaded the project in XS, it deleted those lines. I'm on 5.9.1 (build 3)

    We do all our builds through a TeamCity server that executes a Rake script on our mac build server. The build script uses mdtool and that did not seem to honor the IpaIncludeArtwork setting.

    I think that adding the _CompileITunesMetadata target to the csproj did work:

    Also, I do not see the option for using the MSBuild engine on my project properties. Did that move?

  • JeffreyStedfastJeffreyStedfast USXamarin Team Xamurai

    @KentPickard.5341 the option to use (or not use) the MSBuild engine is only available for Classic API projects. Unified API projects must always use the MSBuild engine.

  • AlexandreReyesMartinsAlexandreReyesMartins BRMember ✭✭
    edited May 2015

    The 21 may fix didn't work, here is the csproj:

    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'AppStore|iPhone' ">
        <DebugType>none</DebugType>
        <Optimize>True</Optimize>
        <OutputPath>bin\iPhone\AppStore</OutputPath>
        <ErrorReport>prompt</ErrorReport>
        <WarningLevel>4</WarningLevel>
        <ConsolePause>False</ConsolePause>
        <MtouchArch>ARMv7, ARM64</MtouchArch>
        <CodesignProvision>Automatic:AppStore</CodesignProvision>
        <CodesignKey>iPhone Distribution</CodesignKey>
        <CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
        <BuildIpa>True</BuildIpa>
        <IpaIncludeArtwork>False</IpaIncludeArtwork>
      </PropertyGroup>
    

    Tried to clean and rebuild, no changes!
    I'm using VS 2013, building in AppStore mode and trying to publish the .app file through Application Loader

    UPDATE: Tried to publish .ipa instead .app and worked, tks

  • MichaelLeung.3031MichaelLeung.3031 AUMember ✭✭

    **_Ensure "Project Properties -> iOS IPA Options -> Include Artwork in IPA" is not checked. (Or manually set the BuildIpa and IpaIncludeArtwork properties as mentioned above.)

    image
    Build the app.
    Submit the .ipa file using Application Loader._**

    <--- That is not working for me
    I still got that error

  • PaoloBroccoPaoloBrocco USMember ✭✭

    I use Xamarin for Visual Studio 3.11.576 (alpha) and this worked for me: Clean (delete obj/ and bin/ folders) then > "Project Properties -> iOS IPA Options -> Include Artwork in IPA" > uncheck the checkbox. Build. The error didn't come anymore.

  • CTCHANGCTCHANG AUMember ✭✭

    I am using XS 5.9.3 (Build 1), and the problem still exist!
    I did include the extra settings false, but it still failed.

    Then I found this http://stackoverflow.com/questions/30255150/itms-90047-disallowed-paths-itunesmetadata-plist
    And it does work for me.

  • MatteoMonizzaMatteoMonizza ITBeta ✭✭

    Same here with 5.9.3 Build 1

  • MarkGibaud.2183MarkGibaud.2183 GBUniversity ✭✭
    edited June 2015

    We're using CI with mdtool doing the compilation.

    Setting the IPA-related csproj flags didn't seem to work. Neither did including the target directive in our csproj.

    This is our md tool command:

    /Applications/Xamarin\ Studio.app/Contents/MacOS/mdtool -v archive "--configuration:AppStore|iPhone" JG.sln -p:JG.Mobile.IOS

    After which, we run this command to create the package (could this be the problem?):

    xcrun -v -l -sdk iphoneos PackageApplication "JGMobileIOS.app" -o "JustGiving.ipa".

    I also have this in my iOS .csproj:

      <ItemGroup>
        <Folder Include="Views\Settings\" />
      </ItemGroup>
      <Target Name="_CompileITunesMetadata" DependsOnTargets="_DetectSdkLocations;_DetectAppManifest;_GenerateBundleName;_CompileAppManifest">
      <Message Text="Skipping CompileITunesMetadata task to prevent inclusion of iTunesMetadata.plist in the IPA" />
    </Target>
    </Project>
    

    As well as this:

    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'AppStore|iPhone' ">
        <DebugType>none</DebugType>
        ...etc...
        <BuildIpa>true</BuildIpa>
        <IpaIncludeArtwork>false</IpaIncludeArtwork>
      </PropertyGroup>
    

    After all of this I can still see iTunesMetadata in the package and still get the warning from Application Loader.

    Any other things I can try? Strictly looking for a solution for CI, not XS/VS stuff. How do I get mdtool to exclude iTunesMetadata?

  • MarkGibaud.2183MarkGibaud.2183 GBUniversity ✭✭

    SOLVED - my CI job was not cleaning the workspace beforehand, so the old iTunesMetadata file was obviously sticking around and getting packaged. Turning on "clean workspace" (Jenkins) solved it.

  • NielsCupNielsCup NLMember ✭✭✭

    Unable to get this working, according to this documentation the iTunesMetadata.plist is used for Ad Hoc deployment, so I am wondering why it is in my package when I build for Release. If I remove iTunesMetadata.plist manually from the ipa, I get a signing error when uploading the package. Is there another way to prevent it from being added to the .ipa?

  • BrendanZagaeskiBrendanZagaeski USForum Administrator, Xamarin Team Xamurai

    Unfortunately, Xamarin cannot depend on configuration names to determine behavior since it is for example possible to edit a "Release" configuration to behave identically to a "Debug" configuration.

    See the first post in the thread for the various options for how to instruct Xamarin to automatically remove the iTunesMetadata.plist when building the app.

    The reason removing it by hand from the .ipa causes problems is likely that you have removed it from within the .app bundle, so removing it invalidates the code signature of the .app bundle. You would have to manually resign the app with codesign after removing the iTunesMetadata.plist file. If you follow the steps in the first post in the thread, Xamarin will perform both steps automatically.

  • FrancoisMFrancoisM FRUniversity ✭✭
    edited June 2015

    I was happy to see the problem was solved until I tried... While I uncheck Include Artwork (in VS2013), I don't have any ipa file generated, just the usual .app file that I then zip and load to get the usual error.

  • RushiRushi USMember
    edited June 2015

    I am trying to generate my IPA to submit to AppStore. I am using Xamarin VS. I am following the workaround instructions and on step 15 I am getting "replacing existing signature, code failed to satisfy specified code requirements" for my .app bundle. I have OS X 10.10.2 and Xcode 6.3.2. All the other kinds of builds are working but the AppStore one. I have also downgraded my Xamarin to 3.9.547 and the matching build host as suggested in the post.

  • RushiRushi USMember

    Ok, so I got past that problem. I wasn't setting CODESIGN_ALLOCATE to the right value which I figured out by looking at the logs from the VS build! Also, with Xamarin 3.9.547 there is no option to prevent the iTunesArtwork from getting included in the IPA so I had to delete that manually along with the iTunesMetadata and resign as specified in step 15. I finally have a build that I was able to upload without problems to iTunes Connect.

  • T.J.PurtellT.J.Purtell USMember

    This is broken under the following flow
    1. Archive for publishing from Xamarin Studio
    2. Open XCode
    3. Go to Window -> Organizer
    4. Click the Build
    5. Choose Submit

  • BrendanZagaeskiBrendanZagaeski USForum Administrator, Xamarin Team Xamurai

    T.J. Purtell, that is correct. See step 2 of the instructions for "IDE (Unified or Classic API) builds in Xamarin Studio on Mac" in the first post in the thread:

    If you wish to use Xcode to create the .ipa, you will need to apply the "alternate workaround for Xamarin Studio".

    In fact that wording is perhaps a bit inaccurate. I will probably change it when I go through to do another round of updates and simplifications on that first post. Maybe something like:

    If you wish to use Xcode to create an .ipa or submit the app, you will first need to apply the "alternate workaround for Xamarin Studio".

  • JeffreyStedfastJeffreyStedfast USXamarin Team Xamurai

    @T.J.Purtell Archives created with the next major version of Xamarin Studio (5.10) will support distribution via Xcode's Organizer window but the change was too large to make to 5.9 at the last minute before release.

  • JohnHairJohnHair GBMember ✭✭✭✭✭

    @BrendanZagaeski, thank you for the instructions, I would suggest you make a small alteration to the 'Old workaround', you also need to do a full clean otherwise builds still pickup the file and includes it in the package.

  • henonhenon ATMember ✭✭

    The "Archive for Publishing" menu item is only visible if "Build ad-hoc/enterprise package" is checked. This is a stumbling stone!

  • PhilOxenbergPhilOxenberg USMember ✭✭

    I'm having the same error also. Xamarin Studio 5.9.5 (build 10). Using same create ipa steps given at top of this thread.

  • JeffreyStedfastJeffreyStedfast USXamarin Team Xamurai

    @philo: sounds like you used Xcode to publish instead of using Xamarin Studio to publish the ipa.

2
Sign In or Register to comment.