問題
No installed provisioning profiles match the installed iOS signing identities.
那麼,您該如何解決此一問題呢?
HttpClient
類別所產生的物件,就可以進行相關 Get / Post / Put / Delete 等 RESTful 操作,並且這個類別是提供了非同步方法來呼叫,不會造成使用者操作介面被凍結的問題;不過,若您在核心 PCL 專案內取使用 HttpClient
這個類別,卻發現到您是無法參考到這個物件,那麼,該如何解決此一問題呢?AndroidManifest.xml
檔案,並且,您需要知道這些權限的名稱並且填入到這個檔案內,有沒有甚麼更加簡單的方法來處理這樣的問題。Properties
這個節點,並且找到 Android Manifest
葉面,您將會看到下方有 Required permissions
清單,您可以在這裡勾選您需要用到的權限。AndroidManifest.xml
檔案內。若您擔心是否需要用到的權限是否有加入到 AndroidManifest.xml
檔案內,可以參考底下的說明:XFTakePhoto
,您可以打開這個專案下的目錄 XFTakePhoto\XFTakePhoto\XFTakePhoto.Droid\obj\Release\android
查看這個檔案 AndroidManifest.xml
android.permission.INTERNET
/ android.permission.WRITE_EXTERNAL_STORAGE
/ android.permission.READ_EXTERNAL_STORAGE
/ android.hardware.camera
/ android.hardware.camera.autofocus
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="auto" package="XFTakePhoto.Droid" android:versionCode="1" android:versionName="1">
<!--suppress UsesMinSdkAttributes-->
<uses-sdk android:minSdkVersion="19" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
<application android:label="XFTakePhoto.Droid" android:theme="@style/MyTheme" android:icon="@drawable/icon" android:name="md5a568f8c57b5f8a80d01f31a0c4f56c56.MainApplication" android:allowBackup="true">
<activity android:configChanges="orientation|screenSize" android:icon="@drawable/icon" android:label="XFTakePhoto" android:name="md5a568f8c57b5f8a80d01f31a0c4f56c56.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:configChanges="orientation|screenSize" android:name="md5a3e164e78ade0c22cefea770ddd0bc49.MediaPickerActivity" />
<provider android:name="mono.MonoRuntimeProvider" android:exported="false" android:initOrder="2147483647" android:authorities="XFTakePhoto.Droid.mono.MonoRuntimeProvider.__mono_init__" />
</application>
</manifest>
Properties
節點,並且展開這個節點,此時,您會看到有個項目,AssemblyInfo.cs
檔案,使用滑鼠雙擊這個檔案,請在這個檔案的最後,加入底下程式碼。[assembly: XamlCompilation(XamlCompilationOptions.Compile)]
Label
控制項中,也看不到有任何 點擊 Tap / Click 相關的事件可以使用;若想要在 Xamarin.Forms 的頁面中開發出這樣的控制項效果,是不是只能夠透過 Renderer 的方式來實現呢?GestureRecognizers
屬性,您可以透過這個屬性,加入想要的手勢操作 XAML 物件,就可以偵測出使用者是否有點擊這個 Label
標籤控制項了。Label.GestureRecognizers
屬性內,加入了一個 TapGestureRecognizer
物件,並且使用了 Command
屬性綁定了檢視模型 ViewModel 內的一個 ICommand
的屬性,如此,您就可以在這個 ICommand
中來定義,當使用者點擊了這個文字標籤之後,需要做哪些相關的處理動作。 <Label
Grid.Column="0"
HorizontalOptions="Center" VerticalOptions="Center"
Text="查看明細"
TextColor="Blue"
FontSize="14"
>
<Label.GestureRecognizers>
<TapGestureRecognizer Command="{Binding 查看明細Command}"/>
</Label.GestureRecognizers>
</Label>
x:Name
這個延伸宣告標記,定義這個控制項的可以存取名稱,當然,也可以在 Call behind 程式碼中,使用這個定義名稱,來存取這個控制項。x:Reference
這個延伸宣告標記,指出要參考的其他控制項,在底下範例中,第二個 Label
控制項的 Text
屬性,透過了指定另外一個控制項做為資料繫結的來源,並且指定了參考路徑指向 label
這個控制項的 Text
屬性。 <Label x:Name="label" Text="{Binding Title}" />
<Label Text="{Binding Source={x:Reference label}, Path=Text}"/>
xmlns:local="clr-namespace:App1"
叫做 local。Label
這個控制項的 Font
這個屬性,它的字體大小值需要參考到 .NET 靜態屬性 AppConstants.TitleFont
,這個時候,您可以使用 x:Static
這個延伸擴充標記來參考其他物件屬性。Font="{x:Static local:AppConstants.TitleFont}"
在這個範例中,使用了 x:Static
配合了指定 AppConstants.TitleFont
屬性值,是定義在 local
命名空間。<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:App1"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
x:Class="App1.MainPage">
<Label Text="Hello, XAML!"
VerticalOptions="{x:Static LayoutOptions.Start}"
HorizontalTextAlignment="{x:Static TextAlignment.Center}"
TextColor="{x:Static Color.Aqua}"
BackgroundColor="{x:Static local:AppConstants.ForegroundColor}"
Font="{x:Static local:AppConstants.TitleFont}"
/>
</ContentPage>
ContentPage
內的 Resources
屬性內,定義 ResourceDictionary
,在 ResourceDictionary
裡面,您可以透過 XAML 標記來宣告產生一些物件,讓整個頁面可以相關控制項與版面控制可以參考這個物件。ResourceDictionary
內,宣告了一個 lSize
的物件,它的型態為 x:Double
(也就是 .NET 裡面的 double 型別),並且設定其值為 30。另外,宣告另外一個物件為 lTest
,它的型態為 x:String
,設定這個物件的值為 "我是 Xamarin.Forms"。ResourceDictionary
節點之下的任何子節點,都可透過 StaticResource
這個延伸標記宣告方法,參考之前宣告的物件;例如,當要指定 Label
控制項的 FontSize
這個屬性值,就可以使用 {StaticResource lSize}
這樣的用法,指定這個 Label
控制項的 FontSize
屬性值為 30。<ContentPage.Resources>
<ResourceDictionary>
<x:Double x:Key="lSize">30</x:Double>
<x:String x:Key="lText">我是 Xamarin.Forms</x:String>
</ResourceDictionary>
</ContentPage.Resources>
<ContentPage.Content>
<Grid>
<Label Text="{StaticResource lText}"
Grid.Row="0" Grid.Column="0"
FontSize="{StaticResource lSize}"
VerticalOptions="Center"
HorizontalOptions="Center" />
</Grid>
</ContentPage.Content>
設定為起始專案
,接著,二話不說,馬上建置這個 iOS 專案,很不幸的,您得到了這個錯誤訊息