Commit 85c39741 authored by Eyad Hasan's avatar Eyad Hasan
Browse files

Merge branch 'dev-0.0' into 'master'

1.0 Release

Closes #25, #30, and #15

See merge request !27
parents 81035f82 73bdf24d
......@@ -5,6 +5,7 @@
## Build generated
build/
DerivedData/
.idea/
## Various settings
*.pbxuser
......@@ -63,3 +64,12 @@ fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots
fastlane/test_output
.DS_Store
WhatsOpen/crashlyticsbuild.sh
WhatsOpen/WhatsOpen/crashlyticsbuild.sh
# fastlane
# Maybe this should be in VC but it's only going to be used by people pushing builds out
# and has a Slack webhook token in it
WhatsOpen/fastlane/
......@@ -24,14 +24,14 @@ Please visit the [SRCT Wiki](http://wiki.srct.gmu.edu/) for more information on
Setup
---
Requirements:
Requirements:
To get started, you'll need the following installed:
* [Git](http://git-scm.com/book/en/Getting-Started-Installing-Git)
* The latest **public** build of [Xcode](https://developer.apple.com/xcode/) (and a compatible Mac). *Currently Xcode 8* (You can get this from the [Mac App Store](https://itunes.apple.com/us/app/xcode/id497799835?mt=12) if you want easy updates)
* The latest **public** build of [Xcode](https://developer.apple.com/xcode/) (and a compatible Mac). *Currently Xcode 9* (You can get this from the [Mac App Store](https://itunes.apple.com/us/app/xcode/id497799835?mt=12) if you want easy updates)
* The latest **public** release of Swift. *Currently Swift 3.0* (bundled with Xcode)
* The latest **public** release of Swift. *Currently Swift 4.0* (bundled with Xcode)
* Cocoapods, for dependency management. You can install this by running `sudo gem install cocoapods` in your terminal. (Dependency management may change in the future)
......@@ -39,24 +39,39 @@ To get started, you'll need the following installed:
Open a terminal window and type in the following commands. This will create a local, workable copy of the project.
``bash``
``git clone [url]`` where the URL is the one listed at the top of the git repository for this project (preferrably using SSH)
Install the needed dependencies by running
**If there is not already a `Pods/` directory with contents**, install the needed dependencies by running
``pod install``
inside the the WhatsOpen directory.
To work on the project, you will need to make sure to use the WhatsOpen.xcworkspace file, and NOT the .xcodeproj file. This allows us to use the dependencies that you installed.
To work on the project, you will need to **make sure to use the WhatsOpen.xcworkspace file**, and NOT the .xcodeproj file. This allows us to use the dependencies that you installed.
You may need to choose your personal development team inside of Xcode on the project settings page. If you are not a registered Apple developer, you can do so at [developer.apple.com](https://developer.apple.com/)
When Building and running, be sure to use the "WhatsOpen" scheme (you can see it to the right of the run and stop buttons) and NOT the "WhatsOpen - App Store" scheme. The second has special settings in the build process, as well as a registered bundle identifier, required for us to properly distribute the app ti the App Store.
**Important**: Only change information about signing on the traget named "WhatsOpen" and **not** the one labeled "WhatsOpen - AppStore" inside the Project infofmation section of Xcode.
What Won't Work During Development
---
- Crashlytics won't load in under the "WhatsOpen" Scheme. Use Xcode's debugger.
- Alternate app icons won't work (and will probably crash if you try to use them) due to the build method of adding them to the info.plist file. If you're an artist and have some cool alternate app icons to add, you can still do so in the `AlternateAppIcons.xcassets` file in the main project folder, and adding a cell for them in the SetIconTableViewController.
Troubleshooting
---
* If you recieve and error similar to ``ld: framework not found Pods
clang: error: linker command failed with exit code 1 (use -v to see invocation)`` then check to make sure you opened ``WhatsOpen.xcworkspace`` and not ``WhatsOpen.xcodeproj``
To-do
Distribution Information
---
Checkout the issues list for things that need to be done.
Note-- this should also be on the wiki
To run a build for the App Store, you need the following
- Use the "WhatsOpen - App Store" scheme to build
- The bundle ID (edu.gmu.srct.whatsopen) registered to your Apple Developer account (requires Apple Developer Program membership) (Registered to Zach Knox)
- Certificates and Provisioning Profiles to build an app with the above bundle ID (currently held by Zach Knox and Eyad Hasan)
- a `crashlyticsbuild.sh` file with the Crashlytics run script in it inside the project folder.
- [alternate-icons](https://github.com/alexaubry/alternate-icons) installed to add the alternate icons to the bundle. (This build step is disabled during development builds because alternate icons are a trivial feature and dependencies are annoying).
To produce a `.ipa` for the App Store, run `Product > Archive`. When complete, you should see it in the Organizer. You can then upload using the organizer or export it with a distribution certificate and upload via Application Loader.
About GMU SRCT
---
......
fastlane/Fastfile
{
"images" : [
{
"size" : "20x20",
"idiom" : "iphone",
"filename" : "iosicon-1009-20@2x.png",
"scale" : "2x"
},
{
"size" : "20x20",
"idiom" : "iphone",
"filename" : "iosicon-1009-20@3x.png",
"scale" : "3x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "iosicon-1009-29@2x.png",
"scale" : "2x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "iosicon-1009-29@3x.png",
"scale" : "3x"
},
{
"size" : "40x40",
"idiom" : "iphone",
"filename" : "iosicon-1009-40@2x.png",
"scale" : "2x"
},
{
"size" : "40x40",
"idiom" : "iphone",
"filename" : "iosicon-1009-40@3x.png",
"scale" : "3x"
},
{
"size" : "60x60",
"idiom" : "iphone",
"filename" : "iosicon-1009-60@2x.png",
"scale" : "2x"
},
{
"size" : "60x60",
"idiom" : "iphone",
"filename" : "iosicon-1009-60@3x.png",
"scale" : "3x"
},
{
"size" : "20x20",
"idiom" : "ipad",
"filename" : "iosicon-1009-20.png",
"scale" : "1x"
},
{
"size" : "20x20",
"idiom" : "ipad",
"filename" : "iosicon-1009-20@2x-1.png",
"scale" : "2x"
},
{
"size" : "29x29",
"idiom" : "ipad",
"filename" : "iosicon-1009-29.png",
"scale" : "1x"
},
{
"size" : "29x29",
"idiom" : "ipad",
"filename" : "iosicon-1009-29@2x-1.png",
"scale" : "2x"
},
{
"size" : "40x40",
"idiom" : "ipad",
"filename" : "iosicon-1009-40.png",
"scale" : "1x"
},
{
"size" : "40x40",
"idiom" : "ipad",
"filename" : "iosicon-1009-40@2x-1.png",
"scale" : "2x"
},
{
"size" : "76x76",
"idiom" : "ipad",
"filename" : "iosicon-1009-76.png",
"scale" : "1x"
},
{
"size" : "76x76",
"idiom" : "ipad",
"filename" : "iosicon-1009-76@2x.png",
"scale" : "2x"
},
{
"size" : "83.5x83.5",
"idiom" : "ipad",
"filename" : "iosicon-1009-83.5@2x.png",
"scale" : "2x"
},
{
"size" : "1024x1024",
"idiom" : "ios-marketing",
"filename" : "iosicon-1009-1024.png",
"scale" : "1x"
},
{
"idiom" : "car",
"size" : "60x60",
"scale" : "2x"
},
{
"idiom" : "car",
"size" : "60x60",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment