「Xamarin.Macで相対パスを絶対パスに変換する」の版間の差分

提供:MonoBook
ページの作成:「近年のファイルシステム系のAPIセキュリティの関係で引数相対パスを指定できなくしていることが多く、そ…」
 
10行目: 10行目:
== 関連項目 ==
== 関連項目 ==


* [[Xamarin.MacでFinderを開く]]
* [[Xamarin.Macで指定フォルダをFinderで開く]]


[[カテゴリ:Xamarin.Mac]]
[[カテゴリ:Xamarin.Mac]]

2018年12月28日 (金) 01:52時点における版

近年のファイルシステム系のAPIセキュリティの関係で引数相対パスを指定できなくしていることが多く、その場合は明示的に絶対パスに変換しておく必要がある。

ほとんどのOSではファイルシステムAPIの中に変換してくれるものを用意している。たとえば*BSDLinuxではrealpath関数が用意されている。一方、Macではファイルシステム系APIではなくNSStringに変換関数が用意されており、Xamarin.Macでは相対パスを格納したNSStringを用意してStandarizePath関数を叩くと絶対パスが得られる。

// 相対パス
var relativePath = new NSString(@"~/Documents/");
// 絶対パスに変換
var absolutePath = relativePath.StandarizePath();

関連項目