2016-12-21 1 views
0

実際のデバイスでアプリのデバッグを開始するときに奇妙な問題が発生しました。Build for iPhoneが機能していない

問題は、ビルド時に表示され、このような音:

「C:\プログラムファイル (x86の)\ MSBuildの\ Xamarin \ iOS版の\ Xamarin.iOS.Common.targets(696,3):エラー: "System.Threading.Tasks.Task`1 Acr.UserDialogs.IUserDialogs :: ConfirmAsync(System.String、System.String、System.String、System.String)""Acr.UserDialogs.Interface 、バージョン= 1.0.0.0、 文化=ニュートラル、PublicKeyToken = null "5> 5ビルドFAILED。"

私がちょうど(他の何も変更せずに)シミュレータ上で実行すると、それは動作します。また、[プロジェクトオプション] - > [iOSビルド] - > [リンカオプション] - > [リンカの動作]の[リンクしない]オプションを選択した場合、リンクしないでください。 私はそのパッケージ(Acr.UserDialogs)の異なるバージョンを使用しようとしましたが、何も変わっていません。

「リンカの動作:SDKアセンブリのみをリンクする」というデバイスでアプリケーションを実行するには、どうしたらよいですか?

ありがとうございました!

答えて

0

iOSリンカーの主なターゲットは、バンドルのサイズを小さくすることです。そうすることで、使用されていないコードも削除され、多くの問題を引き起こす可能性があります。今あなたの問題が本当に分からない。私の場合、コンストラクタはどこにも呼び出されなかったため、削除されました。ただし、クラスはIoCで作成されたため、コンストラクタは直接参照されていないにもかかわらず使用されていたため、これは当てはまりませんでした。 問題のあるアセンブリの作成者は、[保持]属性でリンカーの問題を引き起こすクラスにマークを付けることができます。これによりリンカはこれらのクラスを平和に残すよう指示します。 そうでない場合は、mtouchのAssemblyNameがiOSプロジェクトのプロパティである--linkskip = AssemblyNameを指定して、1つのアセンブリのみをプロセスとのリンクから除外できます。

+0

私は 'linkship = Acr.UserDialogs.Interface --linkship = System.Threading.Tasks'を追加しました。これらの組み合わせ、またはAcr.Dialogsだけでなく、同じエラー –

関連する問題