2016-06-16 36 views

答えて

3

IPAの出力場所を変更するための最良の方法は、ビルドが完了した後、目的の場所にファイルをコピーするためのMSBuildターゲットを使用することが実際にあります。そうすることで、更新中に変更されるXamarinシステムファイルを変更することなく、顧客の場所を設定できるので、安全な方法です。

何かがcsprojファイルに間違って編集された場合には、以下の手順のいずれかを行う前に、あなたは、あなたのプロジェクトフォルダをバックアップしたいと思うでしょう。

これを実現するために、あなたは右の終了タグの前に、プロジェクトファイルの最後で次のMSBuildターゲットを置くことになるでしょう:

<Target Name="CopyIpa" Condition="'$(OutputType)' == 'Exe' And '$(ComputedPlatform)' == 'iPhone' And '$(BuildIpa)' == 'true'"> 
    <Copy SourceFiles="$(IpaPackagePath)" DestinationFolder=“[PathToOutput]”/> 
</Target> 

これは、変数$(からIPAをコピーしますIpaPackagePath)をDestinationFolderとして設定したパスに置き換えます。 IPAファイルの出力位置7 Xamarin放出サイクルで

6

が変更されました。 2つのオプションがあります。最初は.csprojファイルを編集し、seondはXamarin.iOS.Common.Targetsを編集します。

1.プロジェクト編集

以下はそれが行くために使用される場所に戻ってあなたの.IPAファイルを移動します。また、あなたはiOSのプロジェクトの多くを持っている場合ターゲットはおそらく、より有用

ファイルDestinationFolder

<PropertyGroup> 
    <CreateIpaDependsOn> 
     $(CreateIpaDependsOn); 
     CopyIpa 
    </CreateIpaDependsOn> 
</PropertyGroup> 
<Target Name="CopyIpa" Condition="'$(OutputType)' == 'Exe' And '$(ComputedPlatform)' == 'iPhone' And '$(BuildIpa)' == 'true'"> 
    <Copy SourceFiles="$(IpaPackagePath)" DestinationFolder="$(OutputPath)" /> 
</Target> 

2に独自のパスを入力することができます。 Xamarinを更新する場合は、まずこのファイルをバックアップする必要があります。お使いのMac上で

、オープン/Library/Frameworks/Xamarin.iOS.framework/Versions/Current/lib/mono/2.1/Xamarin.iOS.Common.targets および変更するには、次の行

<PropertyGroup> 
    <_IpaOutputPath>$(OutputPath)</_IpaOutputPath> 
    <_IpaOutputDir>$(_IpaOutputPath)\</_IpaOutputDir> 
    <IpaPackageName Condition="'$(IpaPackageName)' != '' And !$(IpaPackageName.EndsWith ('.ipa', StringComparison.OrdinalIgnoreCase))">$(IpaPackageName).ipa</IpaPackageName> 
    <IpaPackageName Condition="'$(IpaPackageName)' == ''">$(_AppBundleName).ipa</IpaPackageName> 

    <IpaPackagePath>$(_IpaOutputDir)$(IpaPackageName)</IpaPackagePath> 
</PropertyGroup> 

Source

+0

<PropertyGroup> <_IpaOutputPath>$(DeviceSpecificOutputPath)$(_AppBundleName) $([System.DateTime]::Now.ToString('yyyy-MM-dd HH-mm-ss'))</_IpaOutputPath> <_IpaOutputDir>$(_IpaOutputPath)\</_IpaOutputDir> <IpaPackageName Condition="'$(IpaPackageName)' != '' And !$(IpaPackageName.EndsWith ('.ipa', StringComparison.OrdinalIgnoreCase))">$(IpaPackageName).ipa</IpaPackageName> <IpaPackageName Condition="'$(IpaPackageName)' == ''">$(_AppBundleName).ipa</IpaPackageName> <IpaPackagePath>$(_IpaOutputDir)$(IpaPackageName)</IpaPackagePath> </PropertyGroup> 

くそああ!ありがとう!オフBambooデプロイメントプランを変更します。 – Marakai

+1

ターゲットファイルは、一貫性のあるドキュメントではないので、推奨される方法ではありません。 Xamarinのアップデートは、このファイルを上書きすることができます。これにより、ビルドが編集されるまで記憶されるまでビルドが中断されます。私はあなたがそれに留意したことを知っていますが、それは一般にプロジェクトファイルの編集を提案する理由です。 – clb

関連する問題