AerisWeather 3.4.1

AerisWeather 3.4.1

License BSD-3-Clause
ReleasedLast Release Aug 2023

Maintained by Nick Shipes, Slipp Thompson, Slipp Thompson.



Aeris iOS Weather SDK 2.0

The Aeris iOS Weather Framework allows a developer to quickly and easily add weather content and functionality to their iOS applications quickly and easily without having to code anything themselves. It utilizes the Aeris API backend for data loading and is built on top of an object mapping system that efficiently loads requested weather content into third-party iOS applications, greatly reducing the amount of code and development needed on the developer end.

Components

The AerisWeather SDK is broken up into multiple frameworks, allowing you to only include the components you need. However, some of the components have dependencies on one or more of the others as it simple builds upon them.

  • Aeris.framework - Base library used to interact with and parse Aeris Weather API data.
  • AerisUI.framework - UI utilities and components, (graphs, views) and built-in weather views
    • requires Aeris.framework
  • AerisMap.framework - Fully functional interactive weather map using the Aeris Overlays service.
    • requires Aeris.framework, AerisUI.framework
  • AerisMapboxMap.framework - Extension of the AerisMap library to support using Mapbox base maps
    • requires Aeris.framework, AerisUI.framework, AerisMap.framework
    • requires MBXMapKit
  • AerisGoogleMap.framework - Extension of the AerisMap library to support using the Google Maps SDK.
    • requires Aeris.framework, AerisUI.framework, AerisMap.framework
    • requires GoogleMaps

Setup

Using CocoaPods

  1. Add the pod AerisWeather to your Podfile. This will add the base Aeris.framework as a dependency to your project.

    pod 'AerisWeather'
  2. If you wish to install additional AerisWeather components, add them as dependencies to your Podfile as well:

    pod 'AerisWeather/AerisUI'
    pod 'AerisWeather/AerisMap'
    pod 'AerisWeather/AerisMapboxMap'
    pod 'AerisWeather/AerisGoogleMap'
  3. Run pod install from Terminal, then open your project's .xcworkspace file to launch Xcode.

  4. Import the necessary umbrella headers for the AerisWeather components you wish to use (e.g. Aeris, AerisUI, AerisMap, etc):

    • With use_frameworks! in your Podfile
      • Swift: import Aeris
      • Objective-C: #import <Aeris/Aeris.h>, or with Modules enabled: @import Aeris;
    • Without use_frameworks! in your Podfile
      • Swift: Add #import "<Aeris/Aeris.h>" to your bridging header.
      • Objective-C: #import "<Aeris/Aeris.h>"
Fixing Xcode's "Include of non-modular header inside framework module" Error

If you are using Xcode 7.1 or higher and have included the AerisWeather libraries as dependencies using CocoaPods, you will likely receive an error when compiling about "Include of non-modular header inside framework module". To resolve this issue, you must:

  1. Set your project target's CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES flag to YES. This configuration setting can also be found under your target's Build Settings > Allow Non-modular Includes in Framework Modules within Xcode.
  2. If your project is in Swift and still get this error after completing #1, you will need to remove any paths to the AerisWeather frameworks within your target's Header Search Paths configuration. CocoaPods configuration will typically include the path to each Pod dependency even if that same path is included in your target's Framework Search Paths.

Here's more information from Apple's Developer Forums regarding the issue: https://forums.developer.apple.com/message/78028

The compiler will run into issues if the same header file is accessible both through Header Search Paths (-I, -isystem) and Framework Search Paths (-F, -iframework), even if there are symbolic links involved. In these cases, you should prefer using Framework Search Paths. (Note that this invalid configuration may be generated by external systems, such as CocoaPods.)

Manually from Github

  1. Checkout or download the Aeris-iOS-Libary repo.

  2. Add the necessary Aeris framework components to your Xcode target from the downloaded files. These components are located under the AerisWeatherSDK directory.

  3. Add the AFNetworking library (version 3.0 or higher) to your project according to its specific setup and installation instructions.

  4. Import the necessary framework headers for each Aeris component you are using (e.g. Aeris, AerisUI, AerisMap, etc) where needed within your project:

    #import <Aeris/Aeris.h>
    #import <AerisUI/AerisUI.h>
    #import <AerisMap/AerisMap.h>
    ...

Demo

Check out the included demo project, under the AerisSDKDemo directory, which contains a variety of example views using different components of the SDK, including the built-in weather views and weather maps with different mapping libraries. Since the project's dependencies (specifically AFNetworking) in the demo project are installed and managed using CocoaPods, you will need to open the AerisSDKDemo/AerisSDKDemo.xcworkspace.

The various components of the Aeris iOS Weather SDK are located under the AerisSDK directory. These are the libraries you will be using within your own custom projects.

For complete details and instructions on installing and getting started with the Aeris iOS Weather SDK, refer to our complete usage and API documentation.

Need Support?

Feel free to submit a new ticket with any questions, bug reports or feature suggestions you have. You can also reach out to us on Twitter at @AerisDeveloper.

image image