non-public selectors operationCompleted: - ios

I am receiving following warning prior to submission to the AppStore
The app references non-public selectors in Payload/myapp.app/myapp operationCompleted:
I tried to search for the 'operationCompleted' method in my workspace but can't find anything.
It seems like I am not using the method anywhere.
How should I proceed?

You may get this warning just for using a selector in your own code or third party code that has the same name as some selector that is marked as non-public. Happens to me all the time. Never got rejected for it.
See this Ref. , Ref2

Related

React native The app references non-public selectors in Payload

I have the following issue when I upload my React Native app to the app store
The app references non-public selectors in Payload/AppGeolocNative.app/AppGeolocNative: getAuthorizationStatus:, isPassthrough, newSocketQueueForConnectionFromAddress:onSocket:, onSuccess:, relativeSize, removeValuesForKeys:completion:, socket:didAcceptNewSocket:, socket:didConnectToHost:port:, socket:didConnectToUrl:, socket:didReadData:withTag:, socket:didReadPartialDataOfLength:tag:, socket:didReceiveTrust:completionHandler:, socket:didWriteDataWithTag:, socket:didWritePartialDataOfLength:tag:, socket:shouldTimeoutReadWithTag:elapsed:bytesDone:, socket:shouldTimeoutWriteWithTag:elapsed:bytesDone:, socketDidCloseReadStream:, socketDidDisconnect:withError:, socketDidSecure:, spanArray, spanArray_Count, strikeThrough, underline
I do not really understand what is the issue, everything is working ok, this is just a warning
I had the same problem and I got an email from Apple and it was telling me the reason for the error. The problem was some information I needed to add to the info.plist file. In my case it was the NSPhotoLibraryUsageDescription.
Check if you have any email from apple which telling you what is missing.

Cordova app iOS Warning: The app references non-public selectors in Payload/XXX.app/XXX: transform: (51)?

I've submitted an update of my app to ap store connect today and all of a sudden I'm getting this Warning:
The app references non-public selectors in Payload/XXX.app/XXX: transform: (51)?
The warning doesn't give any indication on whats causing this at all so I'm not sure what they are asking for or how to fix this!
any suggestion as to what this is?
I know this is just a warning at the moment and the app might pass the review but I need to know how to resolve this for future ref.

non public selector in payload warning iOS [duplicate]

I am uploading my iOS application on app store and it is having some warning when i upload the app. warning is the app references non-public selectors in payload/appname.app/appname: _terminateWithStatus I am using facebook sdk"facebook-ios-sdk-3.8" and parse sdk "parse-library-1.2.18". can anybody guide me what should i do to remove this warning?
You can't remove this warning. You may get this warning just for using a selector in your own code or third party code(may be because of facebook sdk) that has the same name as some selector that is marked as non-public. Happens to me all the time. Never got rejected for it. So you won't worry about this warning. See this Ref. , Ref2
And also see this stack question to avoid rejection, find and remove unwanted framework.
First time i got this error and then app was uploaded but with warnings but when i submitted the second version of the app at that time Apple didn't let me upload the app and was giving me error repeatedly "Your app contains non-public API usage. Please review the error, correct them and resubmit your app" after that i found my solution in this question Finding Private API Call _terminateWithStatus Answer was not very useful for me but solution in question was very useful for me. I just removed the GHUnitIOS.framework and it worked for me. May be this info can help someone else

Getting error improper advertising identifier [IDFA] usage,when i am validating my app in xCode 5

when validating my app, I get an error saying
"Improper Advertising Identifier Usage. Your app contains the Advertising Identifier [IDFA] API but you have not respecting the Limit Ad Tracking setting in iOS."
I have check "Yes" on the Prepare for Upload page for Advertising Identifier.I am using revmob ads and flurry analytics in my app(COCOS2D-X project).How to fix this issue, I have tried a lot but not succeed.I have use below code into appdelegate but no luck.
- (NSString *)identifierForAdvertising
{
if([[ASIdentifierManager sharedManager] isAdvertisingTrackingEnabled])
{
NSUUID *IDFA = [[ASIdentifierManager sharedManager] advertisingIdentifier];
return [IDFA UUIDString];
}
return nil;
}
this IDFA issue was still happening for me today. I tracked it down to the GoogleAnalytics pod, so I just updated the pod to the latist version by specifying pod 'GoogleAnalytics-iOS-SDK', '~> 3.0.7' in the podfile which fixed the issue for me. the version was previously unspecified but was using 3.0.3.
Around April 26th Apple changed their IDFA scanning procedures. Not only do you have to check the appropriate checkboxes after you click on the "prepare for upload", but your code (or any other third party library that you have must use IDFA by using the class directly.
Someone suggested to do this:
"you can do that by replacing direct refs to ASIdentifierManager with NSClassFromString(#"ASIdentifierManager")"
DO NOT load this class using this approach! New scanning procedure will look specifically for this and if it is found instead of direct references - Apple seems to assume that there is some strange usage of the tracking identifier. I can't say I disagree with that decision.
It may not be easy to find exactly which library is at fault. Latest AdMob SDK for example is using the class directly and is NOT the source of a problem.
One way you can find out which library is the source of the problem is to remove AdSupport.Framework from your project and see which libraries fail to link. Those libraries are NOT the problem. See if you have other advertising libraries that do not require you to include AdSupport.Framework - those are most likely the culprit.
It sounds a bit counter intuitive, but the direct referencing is not the problem, dynamic (weak) loading of that class is.
Hope this helps someone - we were pulling our hair out until we found what was the source of the issue.
Looks like Apple has reverted the changes now. All apps are going through just as usual again :)

Xcode5 : The app references non-public selectors in Payload/<AppName>.app/<AppName>: setAttribution:

Today, I tried to submit an update to my app to the store using Xcode 5 and it gave the the warning The app references non-public selectors in Payload/<AppName>.app/<AppName>: setAttribution:. Before, it worked just fine, the last update was on August.
I'm using Facebook SDK 3.2 library. What could be the problem? Thanks!
Also discovered that if you replace fbProxy.userInfo.id in your code with [fbPoxy.userInfo objectForKey:#"id"] then the warnings will go away.
Naughty Facebook for using a keyword as a property name!
Try downloading the latest SDK version, Facebook says they have addressed this
https://developers.facebook.com/bugs/273730516072926
Apple will give warnings for any methods or variables if those are declared with same name in our application. But if those warnings are not critical then we don't have to worry about it. After all we can also provide a name which are meaningful to read :-)
We can check these kind of warnings threat with some utility apps like AppScanner. It will display warnings in red if we have to address it before submitting app otherwise we can neglect all other warnings.
To remove warning "the app references non-public selectors in payload: birthday",
While getting FBUser detail from (NSDictionary<FBGraphUser>*)user
instead of using
NSString *FBDoB = user.birthday;
Use this:
NSString *FBDoB = [user valueForKey:#"birthday"];
Its Done, You will get the message "Validation Successful"!!!!

Resources