HI.
My name is Aderval, and I am testing the NuclIOS component. So far I am very glad with it, with just one or two issues that I was planning to submit to the support team, but maybe it is just a matter of learning the API.
Well, my last real test was submitting my app to the App Store, in order to check if it would pass without problems. To my surprise, I've got a Binary Rejected status, with the following text:
"We found that your app uses one or more non-public APIs, which is not in compliance with the App Store Review Guidelines. The use of non-public APIs is not permissible because it can lead to a poor user experience should these APIs change.
We found the following non-public API/s in your app:gridView:heightForHeaderInSection:gridView:viewForHeaderInSection:If you have defined methods in your source code with the same names as the above-mentioned APIs, we suggest altering your method names so that they no longer collide with Apple's private APIs to avoid your application being flagged in future submissions."
I saw in the NuclIOS that these methods really exists on the GridView API. So, how can I bypass this in order to approve my App??
Regards,
Aderval Mendonça
Hello Aderval,
Thats very strange. I've submitted multiple apps with both of those protocol methods implemented and never got a rejection. In fact our Nuclios samples browser itself implements both of those methods in various samples and again has never been rejected. Plus we've submitted that specific app to the app store 4 times already.
I believe when your app gets rejected, you can request more information. Would it be possible to find out out what internal API's they're referencing?
Also, are you explicitly using those API's or was the rejection completely random?
I absolutely want to get to the bottom of this, so we can avoid these issues in the future.
Thanks,
-SteveZ
Hi Steve.
They state that the rejected API's were:
gridView:heightForHeaderInSection:
gridView:viewForHeaderInSection:
I am not explicitly using any of them... just those that are in the developer's guide (Adding a GridView).
Yours,
Aderval
Changing the name of the control isn't really an option b/c of the scale of the change, plus the name is IGGridView, not gridView, we just dropped the prefix in our API names, as Apple does.
I'm going to be making the fix today. What version of NUCLiOS are you using? 12.1 or 13.1?
I'm using 2013.1 .
Hi Aderval,
I am creating the private build that include the fix and wanted to check which version are you using the Trial or licensed version of NucliOS as I want to create the right build for you.
Ammar
Hi.
I am using the 2013.1 Trial version.
Aderval,
Here is the download URL for the latest build which include the fix from Steve: http://download.infragistics.com/Download/hotfixes/pre/!Special/IOS/NucliOS_20131.185_Trial_SR.zip
Please note that this is a temporary URL.
I hope this fix takes care of the issue with submitting your app.
Thanks for choosing Infragistics
Thanks Ammar! Worked like a champ! Kudos!
Hi James,
I just verified the build on our download server and it does include this fix. The reason for the continued issue is probably that xcode is hanging on to the old build.
Please follow these steps to wipe out NucliOS from your mac:
1. Close xCode
2. In Terminal (you'll need an admin account) run the following commands: (you might need to change the folder structure if you xcode is in a different location)
#Remove Docsets from "/Applications/Xcode.app/Contents/Developer/Documentation"rm -R -f "/Applications/Xcode.app/Contents/Developer/Documentation/DocSets/com.infragistics.IG-Chart.docset"
rm -R -f "/Applications/Xcode.app/Contents/Developer/Documentation/DocSets/com.infragistics.IG.docset"
#Remove Framework from "/Applications/Xcode.app/Contents/Developer/Library/Frameworks"rm -R -f "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/IG.framework"rm -R -f "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/IGChart.framework"
#Remove product root folder "/Developer/Infragistics/NUCLiOS 2013 Volume 1"rm -R -f "/Developer/Infragistics/NUCLiOS 2013 Volume 1"
#remove pkg references
pkgutil --volume / --forget com.infragistics.infragisticsNucliosTrial.postflight.pkgpkgutil --volume / --forget com.infragistics.NUCLiOS.API.13.1.pkgpkgutil --volume / --forget com.infragistics.NUCLiOS.docs.13.1.pkgpkgutil --volume / --forget com.infragistics.NUCLiOS.framework.13.1.pkgpkgutil --volume / --forget com.infragistics.NUCLiOS.monotouch.13.1.pkgpkgutil --volume / --forget com.infragistics.NUCLiOS.samples.13.1.pkg
3. If you have any copies of NucliOS dll that are referenced by Xamarin, please delete
4. Run the Service release install you just downloaded
5. in your Xamarin project do a full clean up (make sure you are referencing the new dll and not any older copy) the dll you need are located here "/Developer/Infragistics/NUCLiOS 2013 Volume 1/MonoTouch"
I believe this should. Let me know
Thanks Ammar! I downloaded and installed the SR successfully then opened Xamarin Studio and deleted the old reference and referenced the latest NucliOS (8/29/2013) and compiled then submitted the binary to Apple and this is the message I get….
to get the latest fix you can go to your account page on Infragistics.com, register your key if you have not done so already then navigate to "Key and Downloads" in the navigation bar on the right. Select your key from the list then switch to the "Service Release" tab and you'll find the Service release download for NucliOS.
See attached screenshot for detail.
Hi Ammar, I am having the same issue with Apple submission. I have purchased the latest NucliOS suite for Xamarin and still no luck. I am able to see the NucliOS Component in Xamarin Studio but there is no update or get latest version available?