Building for IOS is a ridiculous process


#1

Does anyone else have a crazy hard time building Meteor apps for IOS?

Every time I build (regardless of whether the build is clean or just a small change) I find myself having to manually copy entries into my app’s plist file and manually copying the entire contents of my google services plist file.

If I have to run a clean build - I’m also missing the entire Cordova framework, and in most cases my plugin’s .h and .m files aren’t linked correctly - is this a normal build experience for IOS? Or have I got something setup incorrectly


#2

You should use the package cordova-custom-config and in your mobile-config.js do something like this:

App.appendToConfig(`<platform name="ios">
  <config-file parent="NSAppTransportSecurity" platform="ios" target="*-Info.plist">
    <dict>
      <key>NSAllowsArbitraryLoads</key>
      <true/>
    </dict>
  </config-file>
  <config-file parent="UIStatusBarHidden" platform="ios" target="*-Info.plist">
    <true/>
  </config-file>
  <config-file parent="UIViewControllerBasedStatusBarAppearance" platform="ios" target="*-Info.plist">
    <false/>
  </config-file>
  <config-file parent="NSCameraUsageDescription" platform="ios" target="*-Info.plist">
    <string>Login / Image</string>
  </config-file>
  <config-file parent="NSPhotoLibraryUsageDescription" platform="ios" target="*-Info.plist">
    <string>Login / Image</string>
  </config-file>
  <config-file parent="UIRequiresFullScreen" platform="ios" target="*-Info.plist">
    <true/>
  </config-file>
</platform>`)