New IOS 14 privacy feature for photos - xamarin

I've been testing my Xamarin app on IOS 14 beta 5, and I saw that there is a new privacy feature, where you can control what photos to share with your app. I am using an UIImagePickerController to display the photos, but right now I get all photos(even though I selected only some to be used by my app), and when trying to select one that was not in my selection, the app crashes.(PHImageManager.DefaultManager.RequestImageData return back wiht error code -1 in this case)
My question is, will there be some new features in the next Xamarin iOS framework to support this functionality?
Because I've been reading on the IOS developer forum that they are planning to have a new PHAuthorizationStatus-> PHAuthorizationStatusLimited, and maybe based on this status, we could filter our pictures.
Or is there currently a way to filter the photos I present on my UIImagePickerController?
Thanks

Apparently, in Xamarin.iOS 13.99.0, they introduced the new status: PHAuthorizationStatus.Limited, and also a new type PhotosUI.PHPickerViewController(since UIImagePickerController is obsolete, we will need to use the new PHPicker ).
More details on added or changed types are found here:
https://learn.microsoft.com/en-us/xamarin/ios/release-notes/api-changes/ios-13-20-2-13-99-0
If anyone needs to use this version of Xamarin.IOS, they can find it in Visual Studio->"Check For Options"->"Xcode 12 Preview" (Visual Studio 2019 For Mac).
Maybe someone will find this useful.

Related

How to display images in Muti-Platform Xamarin.Forms Project on iOS

I've got a Xamarin.Forms Project containing an Android and an iOS Platform Project.
I've got my whole application working on Android and I am now struggling on the iOS part. I can't get my images to display on iOS.
I've followed the Microsoft guide on how to work with images on Xamarin.iOS, but it's simply not working.
I have created a minimum example from a new project and uploaded it to GitHub, it can be found here.
Output: On Android, the image is being displayed fine, on iOS, the screen stays empty. In addition to that, the logs I've added to AppDelegate.cs show, that the images cannot be found by using UIImage.FromBundle()
I've also checked the CSProject file of the iOS project, but it already contains the <ImageAsset> item groups.
I am on Visual Studio Professional 2022 (Windows) Version 17.4.1
Can someone please have a look into this? I am going crazy...
I have test your project with the Visual Studio 2022 for mac. And I had the same results in the Android platform and ios platform. The small car icon will show at the top of the screen.
But for the iphone 14 pro simulator, which has a notch screen. The car icon almost be covered. So you can try to run it on the ipad or a device without notch screen to check the car icon will show or not.
In addition, I have checked your Assets.xcassets folder and the official sample on the github. There is no a such xxx_vector folder in it.
Background information:
What's deprecated (but still works) is individual resource files (aaa.png, aaa#x2.png), with no xcasset.
An xcasset containing those files is not deprecated. Nor is it likely to become deprecated in the future.
If you still want to test with .pdf containing vectors:
What is problematic about your setup is that you have TWO representations of car_settings. One with .pngs, one with vector pdf.
What happens if you remove the xcasset with .pngs, and rename the one with pdf to match the filename in it? (car_settings xcasset, with car_settings.pdf).
Close VS, and delete all .bin and .obj folders after making this change, to ensure VS correctly rebuilds with the vector version.
If this still fails, then you likely have encountered a bug. Add as an issue at github xamarin forms issues. Be sure to mention the versions of VS and Xamarin.Forms that has the problem.

Is Xamarin Forms CollectionView working on macOS?

I've migrated a settings page from Xamarin Forms ListView to CollectionView. All is working on iOS, but nothing is rendered on macOS.
I downgraded Xamarin Forms to 4.7 and pushed it all of the way up to the current preview of 5.0.0.1829-pre6. I've searched the source on git, and I can't even find a renderer for CollectionView. My searches on the web come back with nothing specific.
Is CollectionView supported on macOS? If not, what is the roadmap for support?
As of the current production release (4.8.X), 'CollectionView' is not supported on macOS, it is supported on the following platforms:
iOS
Android
UWP
There is no timeline for official support but I would hope it would become available in 5.X since that version will go into LTS when MAUI takes over. I checked the Xamarin GitHub repo and couldn't find an issue so I raised one for macOS support for CollectionView. Going to the repository is the best way to keep updated, if you show your support they are more likely to do the work 😊

Salesforce iOS Chat disappears with iOS 13

I am using the Salesforce iOS SDK for Customer Support (https://github.com/forcedotcom/ServiceSDK-iOS). With the update to iOS 13 the view disappears right after showing. I cannot edit the code so I have to ask if someone has the same problem and worked out some workaround.
Yes, I'm in the same boat.
Here's an official statement from Salesforce saying that a new SDK should be available starting October 7.
There was a discussion about this on GitHub also, but they've removed issues from their repo recently.
I guess we'll just have to wait until next week.

Missing Marketing Icon iTunes Connect

I have uploaded a couple of applications to the app store with ease. Sometimes I noticed this warning in xCode when I uploaded my app:
Missing Marketing Icon. iOS Apps must include a 1024x1024px Marketing Icon in PNG format. Apps that do not include the Marketing Icon cannot be submitted for App Review or Beta App Review.
But that was not impeding me to send my app for review in iTunes connect... until now.
I have found a few questions about this but none of those have helped me solving my problem. For example, following advise given here I tried adding my icon width xCode in the AppIcon.iconset file but it doesn't work if I do it after packaging my app with appcelerator (I guess that is the normal outcome). But if I do it and the package again, the icon disappears from the file (I think this is because appcelerator generates those files on its own).
How do I add that icon so appcelerator won't remove it when I package?
Or how do I add it to appcelerator so it generates the iconset including my marketing Icon??
I believe I have followed the guidelines completely (My icon is a .png file, its size is 1024x1024 and has no alpha channels nor transparencies) maybe the naming is not correct but I have not found any specific naming for this case.
Use the latest SDK (6.2.2.GA). It was fixed in 6.2.1.GA (https://github.com/appcelerator/titanium_mobile/pull/9451).
If you can't use it you could add the changes in the PR to your _build.js file

Lite version of a full app in Xcode 4.2

I have an app called "Gatti" in the Apple Store. I'm trying to submit a new version called Gatti Lite but i'm very confused. In my app (created using storyboard) i've a scrollView with a lot of buttons. In the lite version i want to reduce the number of this buttons (then functions). I've tryied to duplicate targets but i have a lot of unsolved questions:
i've to create a new storyboard? Can i put this new storyboard like the main for the lite version?
Can I update, with an in-app purchase button, from lite version (removed) to the full version?
Does exist a Walktrought to do this operation in Xcode 4 (buil a lite version)?
How can I create two separate apps in the apple store? I want to have 2 different icon, description,...in the itunesconnect. Is it possible? (in the lite version i can't use the full version's description.
Thank You guys!
If you want to write and distribute another version of your application (lite) at App Store then you should have another project in xCode, create new storyboard and bring needed code from full version. Two projects, two apps.
As I know you can't replace your app to another app with in-app button (this upgrade from lite version to full is de facto replacing one app to another)
How to publish new app:
Create new app Bundle ID here https://developer.apple.com/certificates/index.action
and then add new application via iTunesConnect https://itunesconnect.apple.com
You will have two apps on AppStore with different meta and icons
There's similar question on StackOverFlow about connecting lite and full versions Connecting the LITE Version to the FULL Version on App Store
You can look there

Resources