ในแอป Xamarin Forms ของฉัน ฉันต้องการเปิดแอปอื่นโดยคลิกปุ่ม ตัวอย่างนี้ใช้กับแอป Facebook แต่ควรใช้งานร่วมกับแอปอื่นๆ ได้เช่นกัน ฉันอ่านมามากเกี่ยวกับที่นี่ และ ที่นี่ จากโซลูชัน / ลิงก์ทั้งสองที่ฉันสร้างคลาสในโครงการ iOS ของฉัน:
[assembly: Xamarin.Forms.Dependency(typeof(OpenAppiOS))]
namespace FieldServicePortable.iOS.Common
{
public class OpenAppiOS : IOpenApp
{
public OpenAppiOS() { }
public void OpenExternalApp()
{
var nsurl = "facebook://";
var request = new NSUrl(nsurl);
try
{
var isOpened = UIApplication.SharedApplication.OpenUrl(request); //Open App
}
catch (Exception ex)
{
throw ex;
}
}
}
}
ฉันยังขยาย Info.plist
ด้วยบรรทัดนี้ด้วย
<key>LSApplicationQueriesSchemes</key>
<array>
<string>facebook</string>
</array>
ฉันไม่ต้องการรบกวนคุณด้วยส่วนการเขียนโค้ดในโครงการที่ใช้ร่วมกัน เพราะส่วนนี้ใช้งานได้
หลังจากคลิกปุ่มในแอป โค้ดจะถูกดำเนินการแต่ไม่มีอะไรเกิดขึ้น ไม่มีข้อยกเว้นแม้แต่น้อย ค่าของตัวแปร isOpened
คือ false
ดังนั้นคำถามของฉันคือ:
- แน่นอน ฉันพลาดอะไรบางอย่างในโค้ดของฉันไปหรือเปล่า?
- มีข้อกำหนดใด ๆ สำหรับแอปที่ควรเปิดหรือไม่?
- จำเป็นต้องมีการกำหนดค่าบางอย่างใน iOS หรือไม่?