[GH-ISSUE #1079] [App Support]: Official ChatGPT app by OpenAI #587

Open
opened 2026-03-03 18:59:07 +03:00 by kerem · 9 comments
Owner

Originally created by @zqidev on GitHub (Aug 27, 2023).
Original GitHub issue: https://github.com/PlayCover/PlayCover/issues/1079

https://apps.apple.com/us/app/chatgpt/id6448311069

Current issues

  • App fails to install
  • App fails to open
  • App crashes randomly during usage
  • App experiences graphical issues or broken UI
  • App fails to connect to servers
  • Other

More details

Cannot login, even using PlayChain. App only supports safari/browser login, no in-app login.

Crash log

Sign in failed:
Something went wrong. Please make sure your device's date and time are set properly. Check that your internet connection is stable, then restart the app and try again. (code:FC067AD6-23C1-4C0D-A6B3-6F057BD282FE,API.API.DeviceCheckError,0)

Issue Language

  • Yes my issue is written in English
Originally created by @zqidev on GitHub (Aug 27, 2023). Original GitHub issue: https://github.com/PlayCover/PlayCover/issues/1079 ### App Store link https://apps.apple.com/us/app/chatgpt/id6448311069 ### Current issues - [ ] App fails to install - [ ] App fails to open - [ ] App crashes randomly during usage - [ ] App experiences graphical issues or broken UI - [ ] App fails to connect to servers - [X] Other ### More details Cannot login, even using PlayChain. App only supports safari/browser login, no in-app login. ### Crash log ```shell Sign in failed: Something went wrong. Please make sure your device's date and time are set properly. Check that your internet connection is stable, then restart the app and try again. (code:FC067AD6-23C1-4C0D-A6B3-6F057BD282FE,API.API.DeviceCheckError,0) ``` ### Issue Language - [X] Yes my issue is written in English
Author
Owner

@ohaiibuzzle commented on GitHub (Sep 1, 2023):

@ZhenhaoQi Literally couldn't debug it until I patch debug detection. It will default to hanging the app if that is detected

<!-- gh-comment-id:1702162502 --> @ohaiibuzzle commented on GitHub (Sep 1, 2023): @ZhenhaoQi Literally couldn't debug it until I patch debug detection. It will default to hanging the app if that is detected
Author
Owner

@zqidev commented on GitHub (Sep 10, 2023):

I actually managed to fix it by using the steps listed in the docs and a combination of PlayChain. (Fixed as in persistent after SIP enabled)
Am using macOS Sonoma with PlayCover 3.0.0 Beta

  1. Follow the instructions here
  2. After booting with NVRAM arguments set and SIP off, you'll actually find that the client is already logged in if you tried to login previously and got an error... I'm actually not sure how it was logged in but whatever
  3. Launch without PlayTools first, and then launch with PlayTools (and PlayChain)
  4. Uninstall PlayTools after verifying that you were logged in with PlayChain
  5. Set NVRAM boot-args to "", and re-enable SIP
  6. Launch the ChatGPT app again, and you'll realize it is no longer logged in, so you reinstall PlayTools with PlayChain again and you're automatically logged in.
  7. Enjoy!

I am not sure why any of these steps work, or if there was anything else that contributed to my results. I am simply listing the steps I took to reproduce this behavior. Perhaps this would've worked without PlayChain on a non-beta version, or this just worked by fluke.

Also, the scaling is really ugly, as there is a super big top bar with unused black space which you cannot get rid of, and the font is way smaller than it would be on an iOS device. Still better than any other ChatGPT client I've tried for macOS though!

CleanShot 2023-09-10 at 02 00 35@2x

<!-- gh-comment-id:1712760365 --> @zqidev commented on GitHub (Sep 10, 2023): I actually managed to fix it by using the steps listed in the docs and a combination of PlayChain. (Fixed as in persistent after SIP enabled) Am using macOS Sonoma with PlayCover 3.0.0 Beta 1. Follow the instructions [here](https://docs.playcover.io/getting_started/troubleshoot_login) 2. After booting with NVRAM arguments set and SIP off, you'll actually find that the client is already logged in if you tried to login previously and got an error... I'm actually not sure how it was logged in but whatever 3. Launch without PlayTools first, and then launch with PlayTools (and PlayChain) 4. Uninstall PlayTools after verifying that you were logged in with PlayChain 5. Set NVRAM boot-args to "", and re-enable SIP 6. Launch the ChatGPT app again, and you'll realize it is no longer logged in, so you reinstall PlayTools with PlayChain again and you're automatically logged in. 7. Enjoy! I am not sure why any of these steps work, or if there was anything else that contributed to my results. I am simply listing the steps I took to reproduce this behavior. Perhaps this would've worked without PlayChain on a non-beta version, or this just worked by fluke. Also, the scaling is really ugly, as there is a super big top bar with unused black space which you cannot get rid of, and the font is way smaller than it would be on an iOS device. Still better than any other ChatGPT client I've tried for macOS though! ![CleanShot 2023-09-10 at 02 00 35@2x](https://github.com/PlayCover/PlayCover/assets/66653498/1c07fe17-b8ee-4f0c-9092-7632b9846e94)
Author
Owner

@ohaiibuzzle commented on GitHub (Sep 10, 2023):

@ZhenhaoQi Ha, that is interesting
That seems very likely to me as an issue with getting a device token generated during an initial login (subsequent logins succeeds because that exists serverside).

<!-- gh-comment-id:1712828449 --> @ohaiibuzzle commented on GitHub (Sep 10, 2023): @ZhenhaoQi Ha, that is interesting That seems very likely to me as an issue with getting a device token generated during an initial login (subsequent logins succeeds because that exists serverside).
Author
Owner

@zqidev commented on GitHub (Sep 12, 2023):

Would there be any solution to that? It seems as if I have been logged out again (presumably server-side), as now the ChatGPT client simply says Email Missing and any requests fail. This would probably be fixed after redoing all the steps I mentioned previously, but it's just too much of a hassle to be worth it.

<!-- gh-comment-id:1714803693 --> @zqidev commented on GitHub (Sep 12, 2023): Would there be any solution to that? It seems as if I have been logged out again (presumably server-side), as now the ChatGPT client simply says Email Missing and any requests fail. This would probably be fixed after redoing all the steps I mentioned previously, but it's just too much of a hassle to be worth it.
Author
Owner

@ohaiibuzzle commented on GitHub (Sep 12, 2023):

Well, it makes total sense, that device id might have been necessary to refresh the temporary token (web auth uses a static secret that is used to derive a token with limited life time)

<!-- gh-comment-id:1714958270 --> @ohaiibuzzle commented on GitHub (Sep 12, 2023): Well, it makes total sense, that device id might have been necessary to refresh the temporary token (web auth uses a static secret that is used to derive a token with limited life time)
Author
Owner

@iGerman00 commented on GitHub (Oct 21, 2023):

After doing some minor digging, PreauthDeviceCheckFlag and in turn DeviceCheckError are only mentioned once in the binary. I do not have access to a jailbroken iOS 16 device to run and investigate the app, but I could possibly try making a simple dylib to override that supposed flag. My guess is that it triggers a device mismatch and I need to "spoof" that it's an iPhone, or simply override that flag to @"NO".

<!-- gh-comment-id:1773863626 --> @iGerman00 commented on GitHub (Oct 21, 2023): After doing some minor digging, PreauthDeviceCheckFlag and in turn DeviceCheckError are only mentioned once in the binary. I do not have access to a jailbroken iOS 16 device to run and investigate the app, but I could possibly try making a simple dylib to override that supposed flag. My guess is that it triggers a device mismatch and I need to "spoof" that it's an iPhone, or simply override that flag to `@"NO"`.
Author
Owner

@ohaiibuzzle commented on GitHub (Oct 21, 2023):

After doing some minor digging, PreauthDeviceCheckFlag and in turn DeviceCheckError are only mentioned once in the binary. I do not have access to a jailbroken iOS 16 device to run and investigate the app, but I could possibly try making a simple dylib to override that supposed flag. My guess is that it triggers a device mismatch and I need to "spoof" that it's an iPhone, or simply override that flag to @"NO".

If you know the symbols you can modify it in PlayTools. PlayShadow.x have a few example masks like that you can apply if you know the class and method name

<!-- gh-comment-id:1773901004 --> @ohaiibuzzle commented on GitHub (Oct 21, 2023): > After doing some minor digging, PreauthDeviceCheckFlag and in turn DeviceCheckError are only mentioned once in the binary. I do not have access to a jailbroken iOS 16 device to run and investigate the app, but I could possibly try making a simple dylib to override that supposed flag. My guess is that it triggers a device mismatch and I need to "spoof" that it's an iPhone, or simply override that flag to `@"NO"`. If you know the symbols you can modify it in PlayTools. PlayShadow.x have a few example masks like that you can apply if you know the class and method name
Author
Owner

@singhalrishi27 commented on GitHub (Nov 7, 2023):

Any Progress:)

<!-- gh-comment-id:1798673566 --> @singhalrishi27 commented on GitHub (Nov 7, 2023): Any Progress:)
Author
Owner

@clin366 commented on GitHub (Nov 10, 2023):

Thx, any progress?

<!-- gh-comment-id:1804940415 --> @clin366 commented on GitHub (Nov 10, 2023): Thx, any progress?
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/PlayCover#587
No description provided.