newrelic / newrelic-ios-agent-spm

This repository hosts the Swift Package Manager deployment of the iOS agent
Apache License 2.0
15 stars 9 forks source link

Apple identified issues after updating to 7.4.1 #21

Closed dsuarez-quativa closed 1 year ago

dsuarez-quativa commented 1 year ago

Description

After submitting a build to the app store, Apple let us know about an issue relating to the New Relic framework

Dear Developer,

We identified one or more issues with a recent delivery for your app. Please correct the following issues, then upload again.ITMS-90338: Non-public API usage - The app references non-public selectors in Frameworks/NewRelic.framework/NewRelic: _didReceiveData:. If method names in your source code match the private Apple APIs listed above, altering your method names will help prevent this app from being flagged in future submissions. In addition, note that one or more of the above APIs may be located in a static library that was included with your app. If so, they must be removed. For further information, visit the Technical Support Information at http://developer.apple.com/support/technical/

Best regards, The App Store Team

cdillard-NewRelic commented 1 year ago

Hi @dsuarez-quativa , We will look into this issue with the non-public selector: Frameworks/NewRelic.framework/NewRelic: _didReceiveData

Is this issue preventing you or your users from using your new build of app in App Store?

dsuarez-quativa commented 1 year ago

Hi @cdillard-NewRelic, As of right now, no, because we haven't submitted a new build to be reviewed by Apple yet. We received that response afteruploading a new build to testflight.

dsuarez-quativa commented 1 year ago

@cdillard-NewRelic

In the console, using the latest sdk 7.4.1, the console logs this


2023-02-23 10:47:40.195756-0500 Quativa[62336:953081] API MISUSE: dataTask:didReceiveResponse:completionHandler: completion handler not calle
cdillard-NewRelic commented 1 year ago

@dsuarez-quativa We determined there is an issue in iOS agent 7.4.1 that could cause Apple App Store rejection. We fixed the issue in a new release 7.4.2.

Can you please update to the newly released iOS agent 7.4.2? We've fixed the underlying issue in the new release. Thanks!

koneksa-sunny commented 1 year ago

@cdillard-NewRelic

In the console, using the latest sdk 7.4.1, the console logs this

2023-02-23 10:47:40.195756-0500 Quativa[62336:953081] API MISUSE: dataTask:didReceiveResponse:completionHandler: completion handler not calle

I am seeing this same log using 7.4.2

cdillard-NewRelic commented 1 year ago

Hey @koneksa-sunny

There is a bug in the 7.4.2 agent version that causes the API MISUSE log.

The iOS agent team will release an update iOS agent 7.4.3 ASAP fixing this issue.

A workaround for now is for the customer to implement the dataTask:didReceiveResponse:completionHandler code in your apps custom NSURLSessionDataDelegate. ie: Add the below code to your implementation.

Swift

public func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, didReceive response: URLResponse, completionHandler: @escaping (URLSession.ResponseDisposition) -> Void) {
    completionHandler(.allow)
} 

Objective-C

- (void)URLSession:(NSURLSession *)session dataTask:(NSURLSessionDataTask *)dataTask didReceiveResponse:(NSURLResponse *)response completionHandler:(void (^)(NSURLSessionResponseDisposition disposition))completionHandler {
    completionHandler(NSURLSessionResponseAllow);
}
SVKorosteleva commented 1 year ago

There is a bug in the 7.4.2 agent version that causes the API MISUSE log.

This bug also causes all HTTP request to hang forever in our app...

cdillard-NewRelic commented 1 year ago

@dsuarez-quativa @koneksa-sunny @SVKorosteleva

Can you please update to the newly released iOS agent 7.4.3? We've fixed the issue with API MIUSE causing network connection issues in the new version. Thank you.

SVKorosteleva commented 1 year ago

Installed version 7.4.3 - HTTP requests are not hanging anymore, thank you!