Facebook Platform Policy describes that you're not allowed to pre-fill using the iOS Share Sheet.

I have discovered that Apple's Social framework, using SLComposeViewController no longer allows 3rd Party developers to use -(BOOL)setInitialText:(NSString *)text to pre-fill text using the share sheet.


Setup A: iPhone 6, running public release iOS 9 with latest Facebook iOS App installed. This will not allow me to add pre-filled text to the share sheet. There are no errors, and the method returns true even though (it failed) no text is filled.


Setup B: iPad 3, running public release iOS 9 WITHOUT latest Facebook iOS App installed. Everything works fine.


I have just learned, having the latest Facebook app installed on an iOS device interferes with Apple's Social framework. Facebook have announced that: "Facebook Platform Policy describes that you're not allowed to pre-fill using the iOS Share Sheet. I would suggest you to(sic) use Facebook iOS SDK to provide the best experience to your users. Let us know if you have additional questions or concerns regarding this." ~ Amudi Sebastian, Facebook Team.


So just to be clear Facebook are saying it’s okay to pre-fill, if you use *their* SDK but not Apple’s? So whilst this isn’t a move to enrich the user experience, it’s a move to get us away from using SLComposeViewController and using their god-awful, verbose and buggy SDK.


Okay, so my actual question is - surely this is a App Store violation, if having the latest Facebook app installed on my iPhone disables the functionality of a 3rd Party App using Apple’s share sheet?


What do you think? Facebook quoted, and I repeat "Facebook Platform Policy describes that you're not allowed to pre-fill using the iOS Share Sheet.” And in order to do so they are hacking the deep-baked Apple code to achieve this behind Apple’s back to deliberately break the share code of potentially millions or sorry maybe tens of thousands of Apps? - not because of a bug, a deliberate breaking of the system to encourage us to use their SDK so they can maybe **** more privacy from OUR users that we want to protect?


If anyone can advice if this needs taking to Apple can you let me know please? What are your views, is this ethical?


If this is a violation (breaking iOS code for their own, user-data-grabbing-revenue-needs) they shouldn’t be asked to change it back, they should have their Apple Developer Account fully revoked. What would happen to you and me if we tried to pull this stunt?


Personally I will drop all Facebook support from my existing apps, rather than bow to their will.


Thank you in advance, I would love to see your comments and opinions below!

Great one EMC2732. So I think as Facebook and Apple have a relationship to include social accounts in the OS itself means they are able to have these adjustments and possibly when Facebook is installed the extension showing is switched to one bundled with the Facebook app. Although I could totally be wrong on that!


I build an app that allows sharing to Facebook and we've recently had to adjust things on web and iOS to ensure we don't prefill any content to Facebook when sharing links etc.


I think the suggestion to use the Facebook iOS SDK is simply just them wanting to provide the best experience and still won't allow you to prefill content, especially as they can quickly make adjustments to the SDK compared to that within iOS itself. The key thing they are after is having the user add their own copy to the message field with link/photo attachments. I haven't see the SDK provide anyway of prefilling a share sheet with text.


Just some thoughts. I'm sure Apple have reviewed Facebook's app thoroughly.

Facebook Platform Policy describes that you're not allowed to pre-fill using the iOS Share Sheet.
 
 
Q