Upcoming Limitations to iOS Expo Client

Hello,

Regarding the recent blog post:
https://blog.expo.io/upcoming-limitations-to-ios-expo-client-8076d01aee1a

I was hoping to get some clarification on a few things:

  • Could you elaborate a little on the Apple guidelines that caused this change?

  • Will we be able to reject the update to keep the existing functionality?

  • Is there any mechanism for viewing other projects? There are some services, such as Native Base that share projects to allow users to test it out before purchasing something.

Although the blog post assures us that most of our workflows won’t be affected, it still seems like a step backwards.

Thank you.

Hey @ericmorgan1,

I’ll try and provide some clarification for you. Specifically it was Apple Guideline 3.1.4

3.1.4 Content Codes: Apps may not use their own mechanisms to unlock content or functionality, such as license keys, augmented reality markers, QR codes, etc. In limited circumstances, such as when features are dependent upon specific hardware to function, the app may unlock that functionality without using in-app purchase (e.g. an astronomy app that adds features when synced with a telescope). App features that work in combination with an approved physical product (such as a toy) on an optional basis may unlock functionality without using in-app purchase, provided that an in-app purchase option is available as well. You may not, however, require users to purchase unrelated products or engage in advertising or marketing activities to unlock app functionality.

Apple viewed the QR code functionality as being in violation of this as it “unlocked” other applications, hence the removal of the QR code scanning from the iOS Expo Client.

You will not be able to reject the update as we are making changes to transition from QR codes to links in our developer tools. In addition, our natural SDK release and deprecation cycle makes it where you have to update your Client apps to continue up-to-date development of your Expo projects.

You can use Simulator to open up other people’s projects, but you won’t be able to open up another account’s project via the iOS Expo Client.

We know this certainly isn’t ideal, but unfortunately we are a small fish and Apple owns the ocean. We had to make these changes so we could conform to their guidelines and ensure our developers can still test their projects on their iOS devices. We sincerely apologize for the inconveniences this has caused or will cause everyone.

Cheers,

Adam

1 Like

@adamjnav
Makes sense. Thanks for the details! : )

@adamjnav Please don’t apologize. The fact that you are addressing the ever changing Apple guidelines is an enormous contribution to us developers. You call yourself “small fish”, but there’s no doubt that Apple has their eyes on you (good or bad) and either way you’ll come out on top. Just keep doing what you’re doing and we’ll fight for you. Enough small fish in the sea makes a pretty powerful school.

6 Likes

I think its not big deal, maybe in the future you can send a push notification from XDE to the device to open the app. Thanks for the hard work.

So to further clarify, is the rule about “content codes” why you can’t allow people to access each other’s apps, or just why it can’t be via QR code? Does this rule, or some other rule, totally kill the idea of Expo as an “app browser” of sorts? I guess that was always a little iffy. I’m just curious if “content codes” are the rule that kills it, even if you use links.

Hey @dgreensp,

As I’m sure you know, Apple doesn’t really give an exact explanation as to why they decide to reject or approve an app (after it’s been rejected) so all we can do is speculate–which we would prefer not to do. We looked at other developer tool apps that we’re in the app store to try to get a better idea of what Apple may be thinking and made those changes and we got approved.

Cheers,

Adam

1 Like

Makes sense. Thanks for the answer!

No problem. Thanks for understanding!

Have a good one.

Hello @adamjnav,

I have a problem opening my app for local development (on my iphone 6s). My app stuck in the splash screen page.
If i were to publish the app it works fine (opened from my own expo account). But i wanna be able to use the real-time editing function. Please help. I dont want to open a new topic might as well ask here seems relevant.

My hardware:
Windows
IPhone 6s

P/S: Waited for quite a while for blob function thx for updating to v26

@adamjnav me too…

i have update XDE client and app but doesn’t work…

in android work fine

but now i’m stopend! in ios doesn’t work… remain in the splash screen

Hey @ibrahimreact & @izzusan,

We are aware of the issue and actively trying to resolve it. Please bear with us as most of the team is located in California so when the issue first got reported it was in the middle of the night. We’ll let you know when it is fixed.

Cheers,

Adam

1 Like

Can you guys please upgrade to the newest version of exp and try to run your iOS project? It should be fixed but let me know if you encounter any other issues.

Thanks!

I am having the same problem using the latest client?

@pauldolphin Did you update to the latest version of exp if you’re using Expo (or update react-native-scripts if you’re using crna)?

I just checked and expo updated to 2.24.1 which fixed the issue.
Thanks

I am still having the same issue when I scan Native Base, My Expo client version is 2.4.7.1013849, my iOS version is 11.3, any suggestion?

@shoujubao What issue are you referring to? You can’t open up other projects that haven’t been authored by the account you’re logged into Expo with. Trying to open Native Base will only work on Android.

I’m confused. The original rationale for the changes seemed to focus only on the QR scanning - but I must have misunderstood, since I now see that you’re saying that even link-based sharing is prohibited? So the “Send Link” functionality that is still present on every Expo project page just doesn’t work with the iOS client? (It might be good to clarify that on project pages.)

I guess you’re just in the unfortunate position of throwing things at Apple and seeing what gets through (clearly a huge problem with App Store policy and process), but since the cited rule seemed to be focused on QR codes, I’d have thought you’d start by just removing that part, not the entire ability to open projects from other accounts. I can’t see why app review would distinguish opening an app from one account vs another account.

Any discussion of an “Organizations” feature to allow dev teams to share projects? Any chance of prioritizing such a feature now that the iOS Expo client is hamstrung by Apple’s dysfunction?

Is there any way to easily open an Expo project in XDE by clicking on a link? I’m trying to make PR review workflows easier for my dev team, similar to how the react-navigation project has been doing.

Thanks again for the detailed info and for the awesomeness of Expo in every other way I can think of. :slight_smile:

1 Like

Any discussion of an “Organizations” feature to allow dev teams to share projects?

we have discussed this, @quinlanj can probably provide more context on what is planned here

Is there any way to easily open an Expo project in XDE by clicking on a link? I’m trying to make PR review workflows easier for my dev team, similar to how the react-navigation project has been doing.

yeah I really want this! we have discussed it a bit and it’s on our radar. cc @fson