Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
.DS_Store
/.build
/Packages
/*.xcodeproj
xcuserdata/
DerivedData/
.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
25 changes: 25 additions & 0 deletions Package.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
// swift-tools-version:5.3
// The swift-tools-version declares the minimum version of Swift required to build this package.

import PackageDescription

let package = Package(
name: "ROXCore",
platforms: [.iOS(.v8), .tvOS(.v10)],
products: [
// Products define the executables and libraries a package produces, and make them visible to other packages.
.library(
name: "ROXCore",
targets: ["ROXCore"]),
],
dependencies: [
// Dependencies declare other packages that this package depends on.
// .package(url: /* package url */, from: "1.0.0"),
],
targets: [
// Targets are the basic building blocks of a package. A target can define a module or a test suite.
// Targets can depend on other targets in this package, and on products in packages this package depends on.
.binaryTarget(name: "ROXCore",
path: "ROXCore.xcframework")
]
)
39 changes: 39 additions & 0 deletions ROXCore.xcframework/Info.plist
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>AvailableLibraries</key>
<array>
<dict>
<key>LibraryIdentifier</key>
<string>ios-arm64</string>
<key>LibraryPath</key>
<string>ROXCore.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
</dict>
<dict>
<key>LibraryIdentifier</key>
<string>ios-x86_64-simulator</string>
<key>LibraryPath</key>
<string>ROXCore.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict>
</array>
<key>CFBundlePackageType</key>
<string>XFWK</string>
<key>XCFrameworkFormatVersion</key>
<string>1.0</string>
</dict>
</plist>
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
//
// ROXBaseContainer.h
// ROX
//
// Created by Elad Cohen on 6/27/17.
// Copyright Β© 2017 DeDoCo. All rights reserved.
//

#import <Foundation/Foundation.h>

/**
A container class for configurations and flags

Any class that inherits from this base class can be used as an entry point for flags and configurations that are controlled by ROX system. To use an instance of this class you need to register the instance using the `+[ROXCore register:]`
method and retrieve the instance using `+[ROXCore get:]` method


*/

@interface ROXBaseContainer : NSObject

@end
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
//
// ROXConfigurationBool.h
// ROX
//
// Created by Elad Cohen on 7/10/17.
// Copyright Β© 2017 DeDoCo. All rights reserved.
//

#import "ROXRemoteVariable.h"
#import "ROXFreeze.h"
/**
This class is the API for a remote configuration Bool that is controlled by ROX server, on init you assing a default value to that string that can be changed by the configuration tab in ROX dashboard
*/
@interface ROXConfigurationBool : ROXRemoteVariable
NS_ASSUME_NONNULL_BEGIN
/**
:nodoc:
*/
- (_Nonnull instancetype)init __attribute__((deprecated("Default init function is not available")));
/**
Initiate the configuration with a defaultValue

@param defaultValue value that is retrieve by `value` unless configured differently on ROX
*/
- (_Nonnull instancetype) initWithDefaultValue:(BOOL)defaultValue;

- (_Nonnull instancetype) initWithDefaultValue:(BOOL)defaultValue freeze:(ROXFreeze)freeze;

/**
The BOOL value, if nothing is configured on ROX dashboard, the default value will be returned
*/
@property (nonatomic, readonly) BOOL value;
NS_ASSUME_NONNULL_END
@end
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
//
// ROXConfigurationDouble.h
// ROX
//
// Created by Elad Cohen on 7/10/17.
// Copyright Β© 2017 DeDoCo. All rights reserved.
//

#import "ROXRemoteVariable.h"
#import "ROXFreeze.h"
/**
This class is the API for a remote configuration Double that is controlled by ROX server, on init you assing a default value to that string that can be changed by the configuration tab in ROX dashboard
*/
@interface ROXConfigurationDouble : ROXRemoteVariable

NS_ASSUME_NONNULL_BEGIN
/**
:nodoc:
*/
- (_Nonnull instancetype)init __attribute__((deprecated("Default init function is not available")));

/**
Initiate the configuration with a defaultValue

@param defaultValue value that is retrieve by `value` unless configured differently on ROX
*/
- (_Nonnull instancetype) initWithDefaultValue:(double)defaultValue;

- (_Nonnull instancetype) initWithDefaultValue:(double)defaultValue freeze:(ROXFreeze)freeze;

/**
The double value, if nothing is configured on ROX dashboard, the default value will be returned
*/
@property (nonatomic, readonly) double value;
NS_ASSUME_NONNULL_END
@end
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
//
// ROXConfigurationInt.h
// ROX
//
// Created by Elad Cohen on 7/10/17.
// Copyright Β© 2017 DeDoCo. All rights reserved.
//

#import "ROXRemoteVariable.h"
#import "ROXFreeze.h"
/**
This class is the API for a remote configuration int that is controlled by ROX server, on init you assing a default value to that string that can be changed by the configuration tab in ROX dashboard
*/
@interface ROXConfigurationInt : ROXRemoteVariable

NS_ASSUME_NONNULL_BEGIN
/**
:nodoc:
*/
- (_Nonnull instancetype)init __attribute__((deprecated("Default init function is not available")));


/**
Initiate the configuration with a defaultValue

@param defaultValue value that is retrieve by `value` unless configured differently on ROX
*/
- (_Nonnull instancetype) initWithDefaultValue:(int)defaultValue;

- (_Nonnull instancetype) initWithDefaultValue:(int)defaultValue freeze:(ROXFreeze)freeze;

/**
The int value, if nothing is configured on ROX dashboard, the default value will be returned
*/
@property (nonatomic, readonly) int value;
NS_ASSUME_NONNULL_END
@end

Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
//
// ROXConfigurationString.h
// ROX
//
// Created by Elad Cohen on 7/10/17.
// Copyright Β© 2017 DeDoCo. All rights reserved.
//

#import "ROXRemoteVariable.h"
#import "ROXFreeze.h"
/**
This class is the API for a remote configuration String that is controlled by ROX server, on init you assing a default value to that string that can be changed by the configuration tab in ROX dashboard
*/

@interface ROXConfigurationString : ROXRemoteVariable
NS_ASSUME_NONNULL_BEGIN
/**
:nodoc:
*/

- (_Nonnull instancetype)init __attribute__((deprecated("Default init function is not available")));

/**
Initiate the configuration with a defaultValue

@param defaultValue value that is retrieve by `value` unless configured differently on ROX
*/

- (_Nonnull instancetype) initWithDefaultValue:(NSString* _Nonnull)defaultValue;

- (_Nonnull instancetype) initWithDefaultValue:(NSString* _Nonnull)defaultValue freeze:(ROXFreeze)freeze;

/**
The BOOL value, if nothing is configured on ROX dashboard, the default value will be returned
*/

@property (nonatomic, readonly, nonnull) NSString* value;
NS_ASSUME_NONNULL_END

@end
Loading