Three20 Rejection from Apple - app-store

I'm rejected from Apple Store 3 times, because I have the three20 Library.
My project is in distribution configration, and DEBUG is Disabled.
I got this message from Apple:
Private Symbol References
OBJC_IVAR_$_UITouch._locationInWindow
OBJC_IVAR_$_UITouch._phase
OBJC_IVAR_$_UITouch._previousLocationInWindow
OBJC_IVAR_$_UITouch._tapCount
OBJC_IVAR_$_UITouch._timestamp
OBJC_IVAR_$_UITouch._touchFlags
OBJC_IVAR_$_UITouch._view
OBJC_IVAR_$_UITouch._window
I'm using the last three20 lib from Github (v1.0a2), for photo galerie
I deleted also the #if debug code in the UITouche, but still rejected from Apple.
Anyone had this issue?

You can try removing the static library or the dependencies on the part of the Three20 that you are not using in your project.

Related

Can't Upload .ipa from Xcode 8, "The info.plist indicates a iOS app, but submitting a pkg or mpkg."

I am trying to submit my app. It is written in swift 3 and has an iOS 10 deployment target. So, I need to use Xcode 8. When I create an archive everything goes fine. I have even looked into the .ipa and everything seems fine.
But, every time I get this error:
The info.plist indicates a iOS app, but submitting a pkg or mpkg.
No idea what's going on. I'm not using any frameworks. No cocoapods. Very simple app.
Edit: Still no information on this. I have made a support request with Apple so we will see if that provides any new info. I can't be the only person experiencing this bug.
Update: See Peter's answer. According to him, the LSMinimumSystemVersion key ("Minimum system version") is obsolete and should be removed. If that works for you, upvote his answer instead as that would be a better solution than this if it works.
Original Answer:
I was encountering this issue when updating a very old app. I was able to fix it by changing my Info.plist.
I had to change the LSMinimumSystemVersion key ("Minimum system version") to MinimumOSVersion ("MinimumOSVersion").
Before
After
In Xcode 8.3, you should delete the Minimum system version (LSMinimumSystemVersion) entry from your info.plist. You do not need to rename it. If your app is that old, you may find other superfluous or conflicting keys as well. Another common one is the main nib file key, which conflicts with a main storyboard key.
fix!
i had the same problem and i fix it.
you can export your app (no click on "upload to app store" but "export" in the archive menu) and then use "application loader" to send your app
even if you never imported any frameworks, something might be produced automatically.
So please make sure your project has never any frameworks in it.
If you are not sure, when you export your archive file to .ipa, Xcode will code sign your bundle.
In that list, if you see any framework besides your main app bundle, it occurs.
So let me know the status of your project in the aspect I mentioned above.
Thanks

Invalid WatchKit Support - The bundle contains an invalid implementation of WatchKit

I am trying to upload my apple watch app to iTunes, every time i am uploading my binary i am getting following mail from apple team.I have done with my following checklist.
Created separate App id and profile for watchapp and extension.
I have the correct set of images for apple watch as well as iOS app.
my app was initially built with Xcode 6.2 SDK and now i am submitting with 6.3 SDK.
Don't know where i am doing wrong. can anyone with experience help me out here.
We have discovered one or more issues with your recent delivery for
"XXXXX". To process your delivery, the following issues must be
corrected:
Invalid WatchKit Support - The bundle contains an invalid
implementation of WatchKit. The app may have been built or signed with
non-compliant or pre-release tools. Visit developer.apple.com for more
information.
Once these issues have been corrected, you can then redeliver the
corrected binary.
The problem for me was that the "IOS Deployment Target" in Build Settings for my WatchKit App and my WatchKit Extension were not both the same. My extension was set to 8.3 and my WatchKit App was set to 8.2. Once I set them both to 8.2 the error went away and the WatchKit App installed just fine.
While uploading apple watch app, it need to have apple watch extension into embedded binary of iOS app. But if you are habbitat to delete derived data then xcode6 will delete that target. and when you submit it to apple it will only get ios app not apple watch app.
Adding Embedded Binaries fails in Xcode
Xcode won't link framework form separate project
App crashes on device because of missing framework, works in simulator
Overview
After deleting the "DerivedData" folder (or performing a "Product > Clean") in xcode6, I cannot add CocoaTouch frameworks from another project to the "Embedded Binary" section (under General tab).
Or, Xcode hits a linker error because it cannot find a framework that if previously could.
Other symptoms
Clicking on the + under "Embedded Binaries" shows the Framework selector but selecting a framework in different project in the workspace does nothing.
I've been tearing my hair out over this one too. Here's what I've tried:
I've generated new provisioning profiles for the app, the watchkit extension, and the watchkit app, using unique bundle identifiers for each (com.example.app, com.example.app.watchkitextension & com.example.app.watchkitapp) and a distribution certificate. Downloaded, installed, and set each target to its own provisioning profile in Build Settings > Provisioning. Tried explicitly setting signing authority AND leaving it on automatic.
I've confirmed that the xcarchive contains a WatchKitSupport directory and WK file when I Show Package Contents of the archive
I've ensured that WatchKit Extension, WatchKit app, and IOS app all have matching build and version numbers
I ran Edit > Convert > To Latest Swift Syntax... on the app, extension, and watchkit targets (no source changes were required in my case..)
I've compiled from scratch, cleaned, built, & archived, rinsed and repeated, restarted system and looped again.
In my case, none of those worked. Hope one of them helps you. And if any other kind soul out there has fixed this without going bald, share the hair, man, share the hair.

How to solve the issues when updating version of my App in iOS App Store?

I released the version 1.1,1.2 to App store and now i am trying to release the version 1.3,i am getting the following issues when archiving the project in xcode.
This is my info.plist
Please help me how to solve the above problem.
Looks like it's looking in the wrong place for your app icons and you are also using private API's. Those are the bottom two errors respectively.
Go to your target settings > general > app icons > source and select Don't use assets catalogs?

iPhone ARC & Facebook SDK

I'm getting all kinds of build errors with Facebook's SDK because my app uses ARC. I try to remove the Facebook files from the compiler to avoid this, but I get an Apple Mach-O error when I remove the Facebook.m file. If I put that back in the compile sources, I get the ARC errors.
Anyone run into this?
Do you exclude them from arc with Compiler flag
-fno-objc-arc
?
You can see a Answer here
And this is why distributing a shared library by copy and pasting files is bad. A library should be distributed as it's own Xcode projects with a static library target, so that the build setting requirements of your projects and the libraries you use can not screw up one or the other.
File a bug for the Facebook SDK here: https://github.com/facebook/facebook-ios-sdk/issues
And in the mean time add the -fno-objc-arc flag to the implementation files in the Facebook SDK. You can do this by;
Select your application target
Go to the Build Phases tab
Add for each file under the Compile Sources section.
The new SDK does not explicitly support ARC out of the box, but there is a shell scrip to build a static library that can be used within your ARC project. Just navigate to your local git repo and run
% ~/facebook-ios-sdk/scripts/build_facebook_ios_sdk_static_lib.sh
This will create the static library under the /lib/facebook-ios-sdk folder (e.g. ~/facebook-ios-sdk/lib/facebook-ios-sdk). You may then drag the facebook-ios-sdk folder into the app Xcode project to include the iOS Facebook SDK static library.
there are actually very few changes needed to make the Facebook iOS sdk compatible with ARC. I have made the changes in my code , but , I do not know who to send it back to the community, any pointers ?
here is a post I made to explain how to use it with ARC the simple way on Xcode 4.2:
http://nabtech.wordpress.com/2012/02/02/facebook-ios-sdk-and-arc/

Code with Three 20 latest version facebook-three20-726841e rejected by Apple

I got this response from Apple when i submitted my App with Three 20.I did my project in Xcode 4 and used the latest version of Three 20 i.e. facebook-three20-726841e.
I already did the changes in other posts.
It got rejected again.
Our system has determined your app is using private or undocumented APIs:
The app references private or undocumented symbols
OBJC_IVAR_$_UITouch._locationInWindow
OBJC_IVAR_$_UITouch._phase
OBJC_IVAR_$_UITouch._previousLocationInWindow
OBJC_IVAR_$_UITouch._tapCount
OBJC_IVAR_$_UITouch._timestamp
OBJC_IVAR_$_UITouch._touchFlags
OBJC_IVAR_$_UITouch._view
OBJC_IVAR_$_UITouch._window
Please help me with this.
Thanks.
The non-public API that is included in your application is UITouch._touchFlags.
See if this helps http://cocoatouchdown.blogspot.com/2009/12/uitouchtouchflags-are-private.html
Also something useful about this http://groups.google.com/group/three20/browse_thread/thread/c442af6e39a918b0?fwc=1