WilliamLCobb / iNDS

Legacy Repo for iNDS
http://willcobb.me/iNDS.html
236 stars 60 forks source link

Support iPhone X #246

Open Shvier opened 6 years ago

Shvier commented 6 years ago

Hello, I found iNDS not working good on iPhone X a few days ago. So I just

  1. Support iNDS for iPhone X.
  2. Hide tableView's separator line for beauty.
  3. Add privacy description for Photo usage because of iOS, and I just add English and Chinese description.

Not only that, I found this project didn't use AutoLayout so that it's hard to understand constraints. So I suggest let me help use AutoLayout and refactor the UI. Or maybe think of macOS version?

Shvier commented 6 years ago

Sorry I forgot one important thing. Why note these two lines: self.gameContainer.frame = self.view.frame; self.controllerContainerView.frame = self.view.frame; https://github.com/WilliamLCobb/iNDS/blob/5342237d2f59e35a0f11c5b974ceebb890218c26/iNDS/iNDSEmulatorViewController.mm

FrederickGeek8 commented 6 years ago

Working on fixing Dropbox integration right now. Would love to see these changes implemented before I sent a PR through.

Shvier commented 6 years ago

The .strings files are used for App inner localization like content on UILabel or UITextField. However these files cannot localize other things like App Name, App Privacy Descriptions.

In iOS 10 later, u should implement Privacy Usage Description when access Photo, Microphone, Camera and so on. So I add Privacy Usage Description to Info.plist.

If want to localize App Name, Privacy - Photo Library Usage Description and so on, u should localize the Info.plist. Maybe this is not incorrect from this Apple Documentation.

Best regards.

FrederickGeek8 commented 6 years ago

Okay, I thought that might have been the case (again I do not have much experience in this area). Should the editing the Info.plist File field in Build Settings to point to iNDS/Base.lproj/iNDS-Info.plist instead of the current iNDS/support/iNDS-Info.plist. While I do see the connection between the localized .plist files and the .plist files in Base.lproj, I don't really see any connection to the one in the support folder.

Sorry for the trouble I'm doing some plist editing and I'm just trying to navigate the localization scheme. I noticed the new plist files you introduced when merging my changes with what you have so far. I was originally going to point out Build Settings issue, however it was hard for me to actually find any Apple documentation discussion localization by creating multiple plist files to back up what I suspected was going on.

Shvier commented 6 years ago

Oh~sorry sir, I just noticed that there's another Info.plist in support folder. I'm so sorry I misunderstand u sir.

I've checked these two files, and I figure out why it's happened. When I fork iNDS to my computer, one Info.plist is in root directory and another in support folder. Am I right, sir? When I select Info.plist on Xcode, then click localize on the right Utilities navigator, this Info.plist just moved to the Base.lproj folder. You can try it yourself, I just checked it out.

I'm confused with this situation, maybe it's because Xcode's default settings.

FrederickGeek8 commented 6 years ago

I merged these changes over at https://github.com/iNDS-Team/iNDS as well as an update that fixes Dropbox syncing. I'm hoping that we can accumulate some contributors such that I can give more people access to merge pull requests so great ones like this don't sit unnoticed forever!