After removing UIWebView, Same error coming from App Store - ios

I have an app live on Appstore since 3-4 years, for feature enhancement I have done some changes & trying to upload on Appstore. I receive email of UIWebView deprication.
After that I have commented code which contains UIWebView. Then after I tried to upload but got same error email. Invalid binary and same reason.
Then again I have removed all code which contains UIWebView also I have removed all references from Storyboard as well. But this time I am getting same error email from Apple.
I have also tried by removing derived data. but facing same issue.
What's wrong with Apple???
Can't they specify class or module where they find it??
Looking for quick help.
NOTE: App language is Objective-C
XCode version - 11.3.1
Min iOS Support - iOS 9

They can find UIWebView in Dependencies.
Try to check in libraries and update their if possible.

It's one of your dependencies. There's a few options here to find out which one ITMS-90809: Deprecated API Usage -- Apple will stop accepting submissions of apps that use UIWebView APIs

Related

iOS build not showing activity tab since April 2020

I have uploaded to my application build on AppStore. But I have found strange issues I can not showing build on activity tab. This is happen starting from April and I got mail
"ITMS-90809: Deprecated API Usage - New apps that use UIWebView are no longer accepted. Instead, use WKWebView for improved security and reliability. Learn more (https://developer.apple.com/documentation/uikit/uiwebview)."
Then I checked my code I have not use UIWebView in my whole code. Please suggest me what to do.
I got the same issue before.
I have uploaded my app n got the mail related to UIWebview, so I have coverted the UIWebview to WKWebView and again I uploaded the same. But that time same thing happend again build appear for few minute and just disappears from activity tab. I failed to tackle the problem.
Then I mailed to Apple Developer Support and they replied like Any of the third party library internally using some privacy data you should ask permission for the same.
Then I checked Info.plist, I have given each permission in list still how it comes that we don't understand. Finally then after whole search the one third party library internally using motion related data without permission so this happened. Then I have added that in plist and then again uploaded and its approved.
So please first you check for the webview usage and change it to WKWebView if so and then you can check your info.plist and also check whether your third party library using any privacy sensitive data without permission internally or not. May it help you at some point.
SOLVED
I solved my self.
I just write pod 'GoogleSignIn', '~>4.4.0' instead of pod 'GoogleSignIn' and pod update its work. Now I am seen build on Activity tab.

ITMS-90809: Deprecated API Usage warning when using react-native-html-to-pdf

When I submit app on app store I am getting following warning:
following notification form the app-store connect: ITMS-90809:
Deprecated API Usage - Apple will stop accepting submissions of new
apps that use UIWebView APIs starting from April 2020.
I tried implementing solution from following link:
https://github.com/christopherdro/react-native-html-to-pdf/issues/151#issuecomment-569597226
After implementing this solution warning from app-store goes but I am getting these two issues:
Images from local cache are not shown in PDF
Font from local cache are not shown in PDF
Also, I am not facing above issues on simulator. I tried running build in release mode and on various versions of simulator.
Thanks in advance.
I was not able to load images from local cache into PDF.
So I have tried following workaround.
Converted images into base64 using react-native-image-base64
Loaded those base64 images into pdf
As I was facing this issue only with IOS, I wrote platform specific code for IOS only.
Please note:
Converting image to base64 can be heavy operation. If anyone have any
solution. Please suggest.

Google Map don't load in iOS

I’m using GoogleMaps pod in my iOS application and it was working fine, but in my last build, apple reject my application. And the reason behind that is, the map was unable to load at the time of review on iPad running iOS 12.2 on Wi-Fi.
I did try to reproduce that bug on my device but I couldn’t.
Application do ask for location permission
Google Place API key also seems ok.
Is there any way to identify what the actual issue is and how I am supposed to solve this one?
Finally, I've solved that issue and for that, I've done some of the changes in my project.
1 - I've patched the latest Google Plist file in the project (I wasn't sure whether the old one was latest or not)
2 - I was using multi language in my project so before setting the delegate of google map, I've set the language for my project.
3 - instead of set the google map from Storyboard, I've set the google map programmatically in my view controller after setting language.
After surfing for so long to solve this issue, I came to know that this issue occurs when your App supports multi language. These some steps did work for me.

Getting app containing framework containing OpenCV into TestFlight

I find myself in a situation which may be unique. Please be patient, because this is going to be complex.
I am charged with creating for iOS 1) an SDK, which has taken the form of a framework , 2) a demo application, and 3) a reference application.
The SDK uses OpenCV, and so the OpenCV framework is automatically embedded inside it.
The project for the demo application at compile time automatically builds the SDK and includes a copy within itself. The demo application also links directly to the copy of OpenCV within the SDK.
The reference application is an example application meant to show people how to use the SDK framework.
So far all of this somehow works. <TAKE A BREATH>
The latest version of the demo application, however, has a problem. I need to get a copy of it into TestFlight. Despite it working fine on actual iPhones AND Xcode archiving it with no problems, nothing I have done has gotten it all the way through the App Store/TestFlight submission process. The furthest I've managed is to coerce it is that it got through validation, but when I tried submitting the app, after uploading Xcode complained:
ERROR ITMS-90034: "Missing or invalid signature. The bundle
'org.opencv' at bundle path
'Payload/FakeName.app/Frameworks/FakeNameIOSSDK.framework/opencv2.framework'
is not signed using an Apple submission certificate."
I have indeed verified that OpenCV (at least version 2.4.9 downloaded from the Website OpenCV.org) is not signed. I made an attempt to sign OpenCV with codesign, but I couldn't make that work.
The question is: What do I need to change to make the App Store happy enough that I can get my app into TestFlight? Is there some way to hide the lack of code-signing of OpenCV? Is there a way to get OpenCV properly code-signed such that the App Store is happy with it? (I have a strange vision of compiling the source of OpenCV directly into my SDK, but the size and complexity of OpenCV is such that I'd rather not try such a thing except as a measure of last resort.)
Alternatively, I find myself wondering about whether it is workable to not embed OpenCV in my SDK, but embed it within the app instead. This is what I did with the last release of the demo app in TestFlight. However, when I created the reference app, the system failed to work, leading to the current oddity of a framework within a framework.
Thanks in advance for any help anyone can provide.

Will Appstore reviewers allow us to use dynamic library in iOS8?

I read many articles about dynamic library usage including this page "Can you build dynamic library...".
As apple document said, "Frameworks for iOS. iOS developers can now create dynamic frameworks. Frameworks are a collection of code and resources to encapsulate functionality that is valuable across multiple projects. Frameworks work perfectly with extensions, sharing logic that can be used by both the main application and the bundled extensions.", see full page from here.
Taking the security issue as consideration, I got the reject reason of dynamic library before iOS8, see details from "DarkDust's answer". But, how does it "just work" in iOS8? #appstore_reviewers?
Anyway, currently I'm writing a sample demo app and try to upload it to Appstore for review, the main feature is downloading a framework from internet to client and dlopen it. Hope that really "just works"!
Besides, the deployment target is iOS7.0, not sure it could works well in it.
I didn't get a so clear understand on differences between "dynamic library" and "framework", I think they are the same and in this thread I mean "Cocoa-touch framework" which could create in Xcode 6.
Some background: I'm trying to build an iOS app which does't contain extension feature, my cocoa-touch framework is for easy expand without uploading a new version as it comes from internet....
UPDATE
I published a demo project GMDemo here, will try to upload to Appstore.
UPDATE2
I failed to dlopen my dynamic framework with invalid code signing error after many tries in iOS device. Sorry, no good news here. (Almost forgot to update this question, sorry! BTW)
App Store Review Guidelines explicitly prohibit that in 2.4.5 Apps that download code in any way or form will be rejected https://developer.apple.com/app-store/review/guidelines/
UPDATE3 just use the same code signing!!!
I have test it in ad-hoc environment!
when my dynamic library use the code signing with the same code signing,It works,
otherwise,crush!!

Resources