Xamarin iOS: Check if Google fit app is installed on the device - ios

Is there any way to check if 'Google Fit' app is installed on iOS device?
I tried:
UIApplication.SharedApplication.CanOpenUrl(new NSUrl("FitApp://com.google.fit"));
this always returns false

You need to add FitApp to the LSApplicationQueriesSchemes array in your Info.plist (note, there is no colon).
Then, in code your can check to see if you can open FitBit: - note the colon
UIApplication.SharedApplication.CanOpenUrl(new NSUrl("FitApp:"));

Related

ITMS-90842: Invalid SDK usage with AppClip and Flutter

Until I upload myapp to appstore
I have this issue:
Please correct the following issues, then upload again.
ITMS-90842: Invalid SDK usage - App clip
'Runner.app/AppClips/RunnerAppClip.app' uses the SDK selector
'requestAlwaysAuthorization', which is not supported. Ensure your app clip is
using supported SDK features.
I am used location permission but how exclude specific location from AppClip
You can include/exclude specific lines of code from your App Clip target using a Swift Compilation Flag.
To do this you can open the Build Settings of your App Clip target and add some custom flag like APPCLIP.
Then in your code...
#if !APPCLIP
//Location code that uses `requestAlwaysAuthorization`
#endif

specifying uirequireddevicecapabilties of iphone-ipad-minimum-performance-a12

So - I'm trying to add the device capability requirement
iphone-ipad-minimum-performance-a12
which seems to map to exactly the capabilities I actually need, which is "supports avcapturemulticamsession"
but I just get this error when trying to validate:
App Store Connect Operation Error
This bundle is invalid. The key UIRequiredDeviceCapabilities contains value 'iphone-ipad-minimum-performance-a12' which is incompatible with the MinimumOSVersion value of '13.5'.
What am I doing wrong?
so... according to apple support that iphone-ipad-minimum-performance-a12 is ios 14 only.

ReplayKit's RPSystemBroadcastPickerView not showing preferredExtension

I am using RPSystemBroadcastPickerView to show a picker view, from which a user can select a broadcast service to record the screen. Based on documentation, preferredExtension should allow me to set which broadcast extension should the picker show.
The code is super simple:
let broadcastPickerView = RPSystemBroadcastPickerView(frame: CGRect(x: 0, y: 0, width: 51, height: 51))
view.addSubview(broadcastPickerView)
broadcastPickerView.preferredExtension = "com.milan.nosal.broadcast-extension"
broadcastPickerView.backgroundColor = .clear
broadcastPickerView.showsMicrophoneButton = false
where "com.milan.nosal.broadcast-extension" is the bundle identifier of the extension I want the picker to offer (I checked its correctness multiple times).
However, when the control is tapped, at first the pop up shows empty selection:
After you close it, and tap the control again, it shows the correct extension. This only happens when the app is installed (or reinstalled), after it shows, then it shows always.
Is this the iOS 12 beta bug, or am I doing something incorrectly? Can I "preregister" the extension to work around this?
EDIT:
After publishing the app, we encountered the same problem with our users, but this time not even tapping the control multiple times helps - the picker is always empty! It seems that the extension is installed correctly, because it can be launched from control center.
Running on official release now.
Note that this is for ANY iOS Version:
I just burned a full day on this. When you add the BroadCast extension, Apple will automatically add the highest possible iOS Version for the deployment target. You need to make sure this isn't higher than your physical device's iOS Version. You won't get any build errors, they just won't show your app in the broadcast extension list.
I think it is the apple's bug, but it was fixed in iOS 12.2 after I tested it.
I have the same issue, looks like Xcode has some issues how to install broadcastExtension with you app. For me, It is related only for Debug mode. To see correct UI, try to enable broadcasting once in old way (control center -> deep touch -> start broadcast), after that in your BroadcastPickerView you will see correct UI (you are pushing iOS to update information about the extension). Cannot reproduce in release mode.
You can find your exactly preferedExtension here:
When you add pickerView.preferredExtension exactly the Bundle Identifier, your app will be showed on the Recording App List. Hope this helps!
If I do not set ".preferredExtension", I see all extensions on the list.
I tested on iOS12 GM.
You add Broadcast Upload Extension into your project and get that Extension Bundle Identifier.
How to create Broadcast Upload Extension into your app?
Go to xcode - File - New - Target - Broadcast Upload Extension
Then Add this line into your app. when you created RPSystemBroadcastPickerView object.
broadCastPicker?.preferredExtension = "com.vikrant.YourApp.Extension"

Facebook SDK iOS - how to set Application ID dynamically from code?

I'm trying to set the Facebook's AppId from code, so I can choose to which app to connect to (between 2 apps, one of them is a test app).
Basically I'm looking for an equivalent for Android's SDK call:
FacebookSdk.setApplicationId(ACTIVE_APP_ID);
I'm aware of the deprecated iOS call:
[FBSettings setDefaultAppID:ACTIVE_APP_ID];
But can't seem to find alternative to it.
I'm using SDK ver 4.22.1. Thanks!
FacebookSDK v4.44.1 swift 5 - Set the Facebook App ID used by the SDK:
Settings.appID = "YOUR-FACEBOOK-APPLICATION-IDENTIFIER"
Settings.displayName = "YOUR-FACEBOOK-DISPLAY-NAME"
That's the way I have managed to set it programmatically and override the default settings at the info.plist file.
Maybe you can try :
[FBSDKSettings setAppID:ACTIVE_APP_ID];
(I am using version 4.29.0 of FBSDK).

ApplePay canMakePaymentsUsingNetworks Always Returns False

I am trying to incorporate ApplePay into my Cordova 7.0.1 application running XCode 8.3.3, but I can't get the code below to work. It returns false each time even though I have a mastercard and visa setup in my wallet. I have called CapitalOne and Citi to confirm that the cards are properly setup for ApplePay. Any advise to get the code to recognize the cards would be much appreciated!
supportedPaymentNetworks = #[PKPaymentNetworkVisa, PKPaymentNetworkMasterCard, PKPaymentNetworkAmex];
if ([PKPaymentAuthorizationViewController canMakePaymentsUsingNetworks:supportedPaymentNetworks]) {
NSLog(#"Supported card found");
} else {
NSLog(#"No supported card found");
}
Apple Pay was not turned ON in the Capabilities section of target settings in Xcode.
I think you can solve if you set martchant id in AppName.entitlements file.
If you already set martchant id in AppName.entitlements file, i wanna know how you made martchant id and certificate file.
I had a similar issue. Finally i found that i forgot to load Entitlements.plist file in iOS project setting. you can find more detail in
How to integrate Apple Pay in Xamarin Forms?
Hope this will help

Resources