[創意料理] Xamarin.Forms(iOS)一個 App 提交送審被 Apple 退件拒絕的經驗分享

開發 iOS 的 App 想上架到 App Store 送審被拒絕個幾次可說是稀鬆平常的,即使我們把 App Store Review Guidelines 讀得滾瓜爛熟,還是有被拒絕的可能,而且被拒絕的理由百百種,有跟 Apple 審核團隊交手過的朋友應該就有 fu,我就我這次 App 送審被 Apple 退件拒絕的經驗做個記錄。

...繼續閱讀 »

[廚餘回收] Xamarin.Forms(iOS)上傳建置版本後收到「... A value for the Info.plist key 'CFBundleIconName' is missing in the bundle ...」訊息

用 Xamarin 開發好 iOS App 後,如果我們的開發環境是 Visual Studio 照著官方的步驟一步一步做,用 Application Loader 上傳完畢想說應該 OK 了,但是在 iTunes Connect 遲遲不見剛剛建置版本上傳,檢查信箱收到了一封信:

...繼續閱讀 »

[食譜好菜] Xamarin.Forms(iOS)的 In-App Purchases

Apple 在審核我們的 App 的時候會看一個東西,那就是我們的 App 內提供的對外連結是否具有引導消費的功能,消費的項目如果被認定踩中了 App 內購買的類型,比如說我在我的 App 放了一個按鈕,按下去之後用瀏覽器開啟我準備好的網頁,使用者在網頁中可以付費升級專業版,這樣的話有極大的機率會被 Apple Reject,然後叫我們用他們家的 In-App Purchases,不過實作上也不算太難。

...繼續閱讀 »

[料理佳餚] Xamarin.Forms 透過 Firebase Cloud Messaging(FCM)的 click_action 使輕按推播通知後執行指定的程式碼

Firebase Clound Messaging(FCM)的 Notification Payload 裡面有一個 click_action,顧名思義就是當推播訊息被使用者點擊之後,App 跟隨著要做什麼樣的反應動作,最常見的就是 App 依據 click_action 跳至與通知相關的頁面,我們就來看看如何透過 click_action 來控制顯示不同頁面。

...繼續閱讀 »

[廚餘回收] Xamarin.Forms Android 渲染 HTML 內容靠左、置中、靠右無效的問題。

Xamarin.Forms Android 要顯示 HTML 內容在一個 Label 上,網路上已經有許多範例,直接 Google 就可以找到答案,但通常都只能做很簡單的樣式,無法像在瀏覽器上那樣豐富,不過我要在這邊說一個有關於文字內容靠左、置中、靠右神奇的故事,如果我們去搜尋有關於這方面的訊息時,結論大都是「不支援」,是這樣的嗎?

...繼續閱讀 »

[料理佳餚] Xamarin.Forms 中不同的 DataItem 如何指定使用不同的 DataTemplate

這個用舉例的比較好說,假定我有一個 Car 集合,裡面有各式各樣的車種,要用一個 ListView 把車種名稱顯示出來,最簡單就是去定義一組 DataTemplate 裡面有一個 Label 把 Car 的 Name 綁定上去就可以了,但是保時捷說我們的名稱要用 Button 來呈現,哦~好~客戶最大,客戶說了算,那要怎麼弄?

...繼續閱讀 »

[料理佳餚] Xamarin.Forms 一定要了解清楚的 HorizontalOptions 及 VerticalOptions

剛開始要學習 Xamarin.Forms 開發時,一定會想說實作一個簡單的互動程式看看,查了語法敲了一串 <Button WidthRequest="100" HeightRequest="100" Text="I'm Button" /> 放上去之後,哇!怎麼 Button 那麼大?

我相信多數人會遭遇跟我一樣問題「怎麼讓 Button 依照我想要的位置去擺放?」

...繼續閱讀 »

[料理佳餚] Xamarin.Forms 中 Button IsEnable 與 Command 屬性的綁定糾葛

Button 要 Enable 或 Disable 除了直接操控 Button 本身的 IsEnabled 屬性之外,也可以藉由綁定的方式綁定一個變數,當變數值異動的時候 Button 的啟用狀態也跟著改變,有用 MVVM 模式在開發 Xamarin App 的朋友相信應該也會習慣先考慮用綁定的方式來操控 UI,但如果 Button 同時有為 IsEnabled 及 Command 提供綁定值,會有一些問題出現。

...繼續閱讀 »