Skip to content

Latest commit

 

History

History
110 lines (77 loc) · 4.79 KB

MakingAniOSrelease.md

File metadata and controls

110 lines (77 loc) · 4.79 KB

Making an iOS release

  1. After testing,and making your React changes in the WebApp, check in those changes and prepare (ideally) to build from a fully up-to-date WebApp develop.

  2. Your WebApp config.js, should look like this:

    module.exports = {
      WE_VOTE_URL_PROTOCOL: "https://",  // "http://" for local dev or "https://" for live server
      WE_VOTE_HOSTNAME: ""WeVote.US",  // This should be without "http...". This is "WeVote.US" on live server.
    
      WE_VOTE_SERVER_ROOT_URL: "https://api.wevoteusa.org/",
      WE_VOTE_SERVER_ADMIN_ROOT_URL: "https://api.wevoteusa.org/admin/",
      WE_VOTE_SERVER_API_ROOT_URL: "https://api.wevoteusa.org/apis/v1/",
    
      DEBUG_MODE: false,
    
      // Use 1 or 0 as opposed to true or false
      test: {
        use_test_election: 0,
      },
    
      location: {
        text_for_map_search: "",
      },
    
      FACEBOOK_APP_ID: "<the actual number that you got from Dale>",
    
      STRIPE_API_KEY: "<the production 'pk_live_...' api key from Dale.  NOT the test 'pk_test_...'>",
    
      IS_CORDOVA: false,
    };
    

    That IS_CORDOVA value has been abandoned, and does not need to be changed.

    Be sure to double check that you are using these production config values, it would be difficult (but possible) to detect a misconfiguration while testing.

  3. Run a gulp task, or otherwise build the WebApp bundle.js

  4. On WeVoteCordova side,on the Target General Properties tab, increment the build number by one. For example build 3, becomes Build 4.

    ScreenShot

    This may be the only change that gets made in the WeVoteCordova repository, but it is important to check it in so that we have a record of how each build was made. When you do check it it, please include a reference to the WebApp Git commit that resulted in the bundle.js

  5. Before checking in WeVoteCordova, test on a simulator for both an iPhone and iPad.

  6. Build a release candidate in Xcode

    • You will need a physical iPhone plugged into your computer via a USB cable (It is possible that an iPad or iPod touch would work for this purpose.)

    • The phone will have to be registered with Apple inorder for Xcode to sign the app.

    • Change "General" > "Identity" > "Display Name" to "We Vote" (instead of "WeVoteCordova")

    • Make sure to point the build target to your iPhone as opposed to a simulated device (if you don't, the "Archive" option will be grayed out under the "Product" menu)

    • Then build the release candidate in Xcode via Product > Archive

    • Then follow the options to upload the candidate to "the App Store" via https://itunesconnect.apple.com/ Dale can make you an account on itunesconnect

      • Allow "Upload your app's symbols...
      • Automatically manage signing
      • Upload ScreenShot
    • After upload, it could take a half hour for the build to appear on itunes connect, and then the build could be "Processing" for another half hour. (Due to an ancient Apple WebObjects page, refreshing the page could make the "processing" build disappear, but it is still processing, and will reappear when done. And sadly, the WebObjects page does not update itself when done, so you will have to refresh to confirm that it is done processing, and probably shows "Missing Compliance" as its status.)

    ScreenShot iTunes Connect Processing

  7. Wait for the build to appear When processing is done, the build will be in the "Missing Compliance" state, clikc on the build number link, to "Provide Export Compliance Information" Click on the "Provide Export Compliance Information" button

  • Have you added or made changes to encryption features since your last submission of this app? NO
  • Proceed to "Start Internal Testing"
  1. Test in TestFlight After compliance is done, and you have proceeded to internal testing, it take can a minute to an hour for the app build to be available on the "iOS Builds" list in TestFlight. Then a minute to an hour for the app to be available to test on your iPhone via the TestFlight app.

    ScreenShot

  2. Finally submit for review in iTunesConnect Submit it for TestFlight

    Test it on TestFlight (the app might rejected if Apple does not see any evidence of testing, ideally by multiple users).

  3. Once testing is complete, submit it for "Review"

Making an IPA file for Saucelabs testing

See the SauceLabs instructions for creating an IPA file


Next Steps:

Return to the WeVoteCordova home documentation page

On to the Making an Android Release page