Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
222ccffb7b | ||
|
|
0f7f7524a7 | ||
|
|
20192b6cb2 |
+2
-2
@@ -1,4 +1,4 @@
|
||||
github "SwiftyJSON/SwiftyJSON" "4.1.0"
|
||||
github "SwiftyJSON/SwiftyJSON" "4.2.0"
|
||||
github "acheronfail/MASShortcut" "2.3.6-custom"
|
||||
github "emaloney/CleanroomLogger" "6.0.2"
|
||||
github "sindresorhus/LaunchAtLogin" "v2.1.0"
|
||||
github "sindresorhus/LaunchAtLogin" "v2.4.0"
|
||||
|
||||
@@ -1,2 +1 @@
|
||||
* text=auto
|
||||
*.swift text eol=lf
|
||||
* text=auto eol=lf
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
Pod::Spec.new do |s|
|
||||
s.name = 'LaunchAtLogin'
|
||||
s.version = '2.4.0'
|
||||
s.summary = 'Add "Launch at Login" functionality to your sandboxed macOS app in seconds'
|
||||
s.license = 'MIT'
|
||||
s.homepage = 'https://github.com/sindresorhus/LaunchAtLogin'
|
||||
s.social_media_url = 'https://twitter.com/sindresorhus'
|
||||
s.authors = { 'Sindre Sorhus' => 'sindresorhus@gmail.com' }
|
||||
s.source = { :git => 'https://github.com/sindresorhus/LaunchAtLogin.git', :tag => "v#{s.version}" }
|
||||
s.source_files = 'LaunchAtLogin', 'LaunchAtLoginHelper'
|
||||
s.resource = 'LaunchAtLogin/copy-helper.sh'
|
||||
s.swift_version = '4.2'
|
||||
s.platform = :macos, '10.12'
|
||||
end
|
||||
@@ -3,7 +3,7 @@
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 50;
|
||||
objectVersion = 51;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
@@ -32,8 +32,8 @@
|
||||
E32E9B741EB87EA3000FEEE9 /* LaunchAtLoginHelper.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LaunchAtLoginHelper.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
E32E9B761EB87EA3000FEEE9 /* main.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; lineEnding = 0; path = main.swift; sourceTree = "<group>"; usesTabs = 1; };
|
||||
E32E9B7F1EB87EA3000FEEE9 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
E32E9B831EB87F57000FEEE9 /* LaunchAtLoginHelper.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = LaunchAtLoginHelper.entitlements; sourceTree = "<group>"; };
|
||||
E32E9B921EB889AE000FEEE9 /* copy-helper.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; lineEnding = 0; path = "copy-helper.sh"; sourceTree = "<group>"; usesTabs = 1; };
|
||||
E3B8C38A20C0003300272EC0 /* LaunchAtLoginHelper.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = LaunchAtLoginHelper.entitlements; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
@@ -89,7 +89,7 @@
|
||||
children = (
|
||||
E32E9B761EB87EA3000FEEE9 /* main.swift */,
|
||||
E32E9B7F1EB87EA3000FEEE9 /* Info.plist */,
|
||||
E32E9B831EB87F57000FEEE9 /* LaunchAtLoginHelper.entitlements */,
|
||||
E3B8C38A20C0003300272EC0 /* LaunchAtLoginHelper.entitlements */,
|
||||
);
|
||||
path = LaunchAtLoginHelper;
|
||||
sourceTree = "<group>";
|
||||
@@ -151,17 +151,20 @@
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastSwiftUpdateCheck = 0830;
|
||||
LastUpgradeCheck = 0930;
|
||||
LastUpgradeCheck = 0940;
|
||||
ORGANIZATIONNAME = "Sindre Sorhus";
|
||||
TargetAttributes = {
|
||||
E32E9B621EB87D7B000FEEE9 = {
|
||||
CreatedOnToolsVersion = 8.3.2;
|
||||
LastSwiftMigration = 0900;
|
||||
LastSwiftMigration = "";
|
||||
};
|
||||
E32E9B731EB87EA3000FEEE9 = {
|
||||
CreatedOnToolsVersion = 8.3.2;
|
||||
LastSwiftMigration = 0900;
|
||||
LastSwiftMigration = "";
|
||||
SystemCapabilities = {
|
||||
com.apple.HardenedRuntime = {
|
||||
enabled = 1;
|
||||
};
|
||||
com.apple.Sandbox = {
|
||||
enabled = 1;
|
||||
};
|
||||
@@ -170,7 +173,7 @@
|
||||
};
|
||||
};
|
||||
buildConfigurationList = E32E9B5D1EB87D7B000FEEE9 /* Build configuration list for PBXProject "LaunchAtLogin" */;
|
||||
compatibilityVersion = "Xcode 9.3";
|
||||
compatibilityVersion = "Xcode 10.0";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
@@ -265,7 +268,7 @@
|
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
CODE_SIGN_IDENTITY = "-";
|
||||
CODE_SIGN_IDENTITY = "";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
@@ -328,7 +331,7 @@
|
||||
CLANG_WARN_SUSPICIOUS_MOVE = YES;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
CODE_SIGN_IDENTITY = "-";
|
||||
CODE_SIGN_IDENTITY = "";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
@@ -357,7 +360,7 @@
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_IDENTITY = "Mac Developer";
|
||||
CODE_SIGN_IDENTITY = "";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
DEFINES_MODULE = YES;
|
||||
@@ -379,8 +382,7 @@
|
||||
SKIP_INSTALL = YES;
|
||||
SWIFT_COMPILATION_MODE = singlefile;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
|
||||
SWIFT_VERSION = 4.0;
|
||||
SWIFT_VERSION = 4.2;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
@@ -388,7 +390,7 @@
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CODE_SIGN_IDENTITY = "Mac Developer";
|
||||
CODE_SIGN_IDENTITY = "";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
DEFINES_MODULE = YES;
|
||||
@@ -408,8 +410,7 @@
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SKIP_INSTALL = YES;
|
||||
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
|
||||
SWIFT_VERSION = 4.0;
|
||||
SWIFT_VERSION = 4.2;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
@@ -421,6 +422,7 @@
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
DEVELOPMENT_TEAM = YG56YK5RN5;
|
||||
ENABLE_HARDENED_RUNTIME = YES;
|
||||
INFOPLIST_FILE = LaunchAtLoginHelper/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
@@ -430,8 +432,7 @@
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SKIP_INSTALL = YES;
|
||||
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
|
||||
SWIFT_VERSION = 4.0;
|
||||
SWIFT_VERSION = 4.2;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
@@ -443,6 +444,7 @@
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
DEVELOPMENT_TEAM = YG56YK5RN5;
|
||||
ENABLE_HARDENED_RUNTIME = YES;
|
||||
INFOPLIST_FILE = LaunchAtLoginHelper/Info.plist;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
@@ -452,8 +454,7 @@
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
SKIP_INSTALL = YES;
|
||||
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
|
||||
SWIFT_VERSION = 4.0;
|
||||
SWIFT_VERSION = 4.2;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0930"
|
||||
LastUpgradeVersion = "0940"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0930"
|
||||
LastUpgradeVersion = "0940"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
|
||||
@@ -2,8 +2,6 @@
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
@@ -15,12 +13,10 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>2.1.0</string>
|
||||
<string>2.4.0</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>$(CURRENT_PROJECT_VERSION)</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>MIT © Sindre Sorhus</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
||||
@@ -13,5 +13,5 @@ codesign --force --entitlements="$CODE_SIGN_ENTITLEMENTS" --sign="$EXPANDED_CODE
|
||||
|
||||
if [[ $CONFIGURATION == "Release" ]]; then
|
||||
rm -rf "$origin_helper_path"
|
||||
rm "$(dirname $origin_helper_path)/copy-helper.sh"
|
||||
rm "$(dirname "$origin_helper_path")/copy-helper.sh"
|
||||
fi
|
||||
|
||||
@@ -2,8 +2,6 @@
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
# Before and after
|
||||
|
||||
With `LaunchAtLogin`, you only have to do 2 steps instead of 13!
|
||||
|
||||
```diff
|
||||
- 1. Create a new target that will be the helper app that launches your app
|
||||
- 2. Set `LSBackgroundOnly` to true in the `Info.plist` file
|
||||
- 3. Set `Skip Install` to `YES` in the build settings for the helper app
|
||||
- 4. Enable sandboxing for the helper app
|
||||
- 5. Add a new `Copy Files` build phase to the main app
|
||||
- 6. Select `Wrapper` as destination
|
||||
- 7. Enter `Contents/Library/LoginItems` as subpath
|
||||
- 8. Add the helper build product to the build phase
|
||||
- 9. Copy-paste some boilerplate code into the helper app
|
||||
- 10. Remember to replace `bundleid.of.main.app` and `MainExectuableName` with your own values
|
||||
- 11. Copy-paste some code to register the helper app into your main app
|
||||
- 12. Make sure the main app and helper app use the same code signing certificate
|
||||
- 13. Manually verify that you did everything correctly
|
||||
+ 1. Install this package
|
||||
+ 2. Add a new "Run Script Phase"
|
||||
```
|
||||
+23
-22
@@ -2,25 +2,7 @@
|
||||
|
||||
> Add "Launch at Login" functionality to your sandboxed macOS app in seconds
|
||||
|
||||
It's usually quite a convoluted and error-prone process to add this. **No more!**
|
||||
|
||||
```diff
|
||||
- 1. Create a new target that will be the helper app that launches your app
|
||||
- 2. Set `LSBackgroundOnly` to true in the `Info.plist` file
|
||||
- 3. Set `Skip Install` to `YES` in the build settings for the helper app
|
||||
- 4. Enable sandboxing for the helper app
|
||||
- 5. Add a new `Copy Files` build phase to the main app
|
||||
- 6. Select `Wrapper` as destination
|
||||
- 7. Enter `Contents/Library/LoginItems` as subpath
|
||||
- 8. Add the helper build product to the build phase
|
||||
- 9. Copy-paste some boilerplate code into the helper app
|
||||
- 10. Remember to replace `bundleid.of.main.app` and `MainExectuableName` with your own values
|
||||
- 11. Copy-paste some code to register the helper app into your main app
|
||||
- 12. Make sure the main app and helper app use the same code signing certificate
|
||||
- 13. Manually verify that you did everything correctly
|
||||
+ 1. Install this package
|
||||
+ 2. Add a new "Run Script Phase"
|
||||
```
|
||||
It's usually quite a [convoluted and error-prone process](before-after.md) to add this. **No more!**
|
||||
|
||||
It's App Store compatible and used in my [Lungo](https://blog.sindresorhus.com/lungo-b364a6c2745f) and [Battery Indicator](https://sindresorhus.com/battery-indicator) app.
|
||||
|
||||
@@ -30,16 +12,24 @@ You might also find my [`create-dmg`](https://github.com/sindresorhus/create-dmg
|
||||
## Requirements
|
||||
|
||||
- macOS 10.12+
|
||||
- Xcode 9.3+
|
||||
- Swift 4.1+
|
||||
- Xcode 10+
|
||||
- Swift 4.2+
|
||||
|
||||
|
||||
## Install with [Carthage](https://github.com/Carthage/Carthage#getting-started)
|
||||
## Install
|
||||
|
||||
#### Carthage
|
||||
|
||||
```
|
||||
github "sindresorhus/LaunchAtLogin"
|
||||
```
|
||||
|
||||
#### CocoaPods
|
||||
|
||||
```ruby
|
||||
pod 'LaunchAtLogin'
|
||||
```
|
||||
|
||||
<a href="https://www.patreon.com/sindresorhus">
|
||||
<img src="https://c5.patreon.com/external/logo/become_a_patron_button@2x.png" width="160">
|
||||
</a>
|
||||
@@ -49,10 +39,18 @@ github "sindresorhus/LaunchAtLogin"
|
||||
|
||||
Add a new ["Run Script Phase"](http://stackoverflow.com/a/39633955/64949) below "Embed Frameworks" in "Build Phases" with the following:
|
||||
|
||||
Carthage:
|
||||
|
||||
```sh
|
||||
./Carthage/Build/Mac/LaunchAtLogin.framework/Resources/copy-helper.sh
|
||||
```
|
||||
|
||||
CocoaPods:
|
||||
|
||||
```sh
|
||||
./Pods/LaunchAtLogin/LaunchAtLogin/copy-helper.sh
|
||||
```
|
||||
|
||||
Use it in your app:
|
||||
|
||||
```swift
|
||||
@@ -77,7 +75,10 @@ The framework bundles the helper app needed to launch your app and copies it int
|
||||
|
||||
## Related
|
||||
|
||||
- [Defaults](https://github.com/sindresorhus/Defaults) - Swifty and modern UserDefaults
|
||||
- [Preferences](https://github.com/sindresorhus/Preferences) - Add a preferences window to your macOS app in minutes
|
||||
- [DockProgress](https://github.com/sindresorhus/DockProgress) - Show progress in your app's Dock icon
|
||||
- [More…](https://github.com/search?q=user%3Asindresorhus+language%3Aswift)
|
||||
|
||||
|
||||
## License
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
3.0
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
language: objective-c
|
||||
osx_image: xcode9.3
|
||||
xcode_sdk: iphonesimulator10.0
|
||||
osx_image: xcode10
|
||||
xcode_sdk: iphonesimulator12.0
|
||||
script:
|
||||
- set -o pipefail
|
||||
- travis_retry xcodebuild -workspace SwiftyJSON.xcworkspace -scheme "SwiftyJSON iOS" -destination "platform=iOS Simulator,name=iPhone 6" build-for-testing test | xcpretty
|
||||
|
||||
@@ -129,7 +129,7 @@
|
||||
TargetAttributes = {
|
||||
A82A1C1819D926B8009A653D = {
|
||||
CreatedOnToolsVersion = 6.0.1;
|
||||
LastSwiftMigration = 0820;
|
||||
LastSwiftMigration = 0930;
|
||||
ProvisioningStyle = Manual;
|
||||
};
|
||||
};
|
||||
@@ -313,7 +313,8 @@
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.swiftyjson.$(PRODUCT_NAME:rfc1034identifier)";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_VERSION = 3.0;
|
||||
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
|
||||
SWIFT_VERSION = 4.0;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
@@ -328,7 +329,8 @@
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.swiftyjson.$(PRODUCT_NAME:rfc1034identifier)";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SWIFT_VERSION = 3.0;
|
||||
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
|
||||
SWIFT_VERSION = 4.0;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
|
||||
@@ -24,22 +24,6 @@ import Foundation
|
||||
|
||||
// MARK: - Error
|
||||
// swiftlint:disable line_length
|
||||
/// Error domain
|
||||
@available(*, deprecated, message: "ErrorDomain is deprecated. Use `SwiftyJSONError.errorDomain` instead.", renamed: "SwiftyJSONError.errorDomain")
|
||||
public let ErrorDomain: String = "SwiftyJSONErrorDomain"
|
||||
|
||||
/// Error code
|
||||
@available(*, deprecated, message: "ErrorUnsupportedType is deprecated. Use `SwiftyJSONError.unsupportedType` instead.", renamed: "SwiftyJSONError.unsupportedType")
|
||||
public let ErrorUnsupportedType: Int = 999
|
||||
@available(*, deprecated, message: "ErrorIndexOutOfBounds is deprecated. Use `SwiftyJSONError.indexOutOfBounds` instead.", renamed: "SwiftyJSONError.indexOutOfBounds")
|
||||
public let ErrorIndexOutOfBounds: Int = 900
|
||||
@available(*, deprecated, message: "ErrorWrongType is deprecated. Use `SwiftyJSONError.wrongType` instead.", renamed: "SwiftyJSONError.wrongType")
|
||||
public let ErrorWrongType: Int = 901
|
||||
@available(*, deprecated, message: "ErrorNotExist is deprecated. Use `SwiftyJSONError.notExist` instead.", renamed: "SwiftyJSONError.notExist")
|
||||
public let ErrorNotExist: Int = 500
|
||||
@available(*, deprecated, message: "ErrorInvalidJSON is deprecated. Use `SwiftyJSONError.invalidJSON` instead.", renamed: "SwiftyJSONError.invalidJSON")
|
||||
public let ErrorInvalidJSON: Int = 490
|
||||
|
||||
public enum SwiftyJSONError: Int, Swift.Error {
|
||||
case unsupportedType = 999
|
||||
case indexOutOfBounds = 900
|
||||
@@ -146,19 +130,6 @@ public struct JSON {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Creates a JSON from JSON string
|
||||
|
||||
- parameter json: Normal json string like '{"a":"b"}'
|
||||
|
||||
- returns: The created JSON
|
||||
*/
|
||||
@available(*, deprecated, message: "Use instead `init(parseJSON: )`")
|
||||
public static func parse(_ json: String) -> JSON {
|
||||
return json.data(using: String.Encoding.utf8)
|
||||
.flatMap { try? JSON(data: $0) } ?? JSON(NSNull())
|
||||
}
|
||||
|
||||
/**
|
||||
Creates a JSON using the object.
|
||||
|
||||
@@ -592,14 +563,6 @@ extension JSON: Swift.ExpressibleByArrayLiteral {
|
||||
}
|
||||
}
|
||||
|
||||
extension JSON: Swift.ExpressibleByNilLiteral {
|
||||
|
||||
@available(*, deprecated, message: "use JSON.null instead. Will be removed in future versions")
|
||||
public init(nilLiteral: ()) {
|
||||
self.init(NSNull() as Any)
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - Raw
|
||||
|
||||
extension JSON: Swift.RawRepresentable {
|
||||
|
||||
+3
-2
@@ -1,15 +1,16 @@
|
||||
Pod::Spec.new do |s|
|
||||
s.name = "SwiftyJSON"
|
||||
s.version = "4.1.0"
|
||||
s.version = "4.2.0"
|
||||
s.summary = "SwiftyJSON makes it easy to deal with JSON data in Swift"
|
||||
s.homepage = "https://github.com/SwiftyJSON/SwiftyJSON"
|
||||
s.license = { :type => "MIT" }
|
||||
s.authors = { "lingoer" => "lingoerer@gmail.com", "tangplin" => "tangplin@gmail.com" }
|
||||
|
||||
s.requires_arc = true
|
||||
s.swift_version = "4.2"
|
||||
s.osx.deployment_target = "10.9"
|
||||
s.ios.deployment_target = "8.0"
|
||||
s.watchos.deployment_target = "2.0"
|
||||
s.watchos.deployment_target = "3.0"
|
||||
s.tvos.deployment_target = "9.0"
|
||||
s.source = { :git => "https://github.com/SwiftyJSON/SwiftyJSON.git", :tag => s.version }
|
||||
s.source_files = "Source/*.swift"
|
||||
|
||||
@@ -471,14 +471,17 @@
|
||||
TestTargetID = 2E4FEFDA19575BE100351305;
|
||||
};
|
||||
7236B4EC1BAC14150020529B = {
|
||||
LastSwiftMigration = 1000;
|
||||
ProvisioningStyle = Automatic;
|
||||
};
|
||||
9C7DFC5A1A9102BD005AA3F7 = {
|
||||
CreatedOnToolsVersion = 6.1.1;
|
||||
LastSwiftMigration = 1000;
|
||||
ProvisioningStyle = Automatic;
|
||||
};
|
||||
9C7DFC641A9102BD005AA3F7 = {
|
||||
CreatedOnToolsVersion = 6.1.1;
|
||||
LastSwiftMigration = 1000;
|
||||
};
|
||||
A81D162B1E5743B000C62C5F = {
|
||||
CreatedOnToolsVersion = 8.2.1;
|
||||
@@ -486,8 +489,10 @@
|
||||
};
|
||||
A8580F731BCF5C5B00DA927B = {
|
||||
CreatedOnToolsVersion = 7.1;
|
||||
LastSwiftMigration = 1000;
|
||||
};
|
||||
E4D7CCDE1B9465A700EE7221 = {
|
||||
LastSwiftMigration = 1000;
|
||||
ProvisioningStyle = Automatic;
|
||||
};
|
||||
};
|
||||
@@ -936,6 +941,7 @@
|
||||
SDKROOT = appletvos;
|
||||
SKIP_INSTALL = YES;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
SWIFT_VERSION = 4.2;
|
||||
TARGETED_DEVICE_FAMILY = 3;
|
||||
TVOS_DEPLOYMENT_TARGET = 9.0;
|
||||
};
|
||||
@@ -961,6 +967,7 @@
|
||||
PRODUCT_NAME = SwiftyJSON;
|
||||
SDKROOT = appletvos;
|
||||
SKIP_INSTALL = YES;
|
||||
SWIFT_VERSION = 4.2;
|
||||
TARGETED_DEVICE_FAMILY = 3;
|
||||
TVOS_DEPLOYMENT_TARGET = 9.0;
|
||||
};
|
||||
@@ -993,6 +1000,7 @@
|
||||
SDKROOT = macosx;
|
||||
SKIP_INSTALL = YES;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
SWIFT_VERSION = 4.2;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
@@ -1019,6 +1027,7 @@
|
||||
PRODUCT_NAME = "$(PROJECT_NAME)";
|
||||
SDKROOT = macosx;
|
||||
SKIP_INSTALL = YES;
|
||||
SWIFT_VERSION = 4.2;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
@@ -1041,6 +1050,7 @@
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SDKROOT = macosx;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
SWIFT_VERSION = 4.2;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
@@ -1059,6 +1069,7 @@
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.swiftyjson.$(PRODUCT_NAME:rfc1034identifier)";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SDKROOT = macosx;
|
||||
SWIFT_VERSION = 4.2;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
@@ -1092,6 +1103,7 @@
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SDKROOT = appletvos;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
SWIFT_VERSION = 4.2;
|
||||
TVOS_DEPLOYMENT_TARGET = 9.0;
|
||||
};
|
||||
name = Debug;
|
||||
@@ -1110,6 +1122,7 @@
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.tangplin.SwiftyJSON-tvOS-Tests";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SDKROOT = appletvos;
|
||||
SWIFT_VERSION = 4.2;
|
||||
TVOS_DEPLOYMENT_TARGET = 9.0;
|
||||
};
|
||||
name = Release;
|
||||
@@ -1136,8 +1149,9 @@
|
||||
SKIP_INSTALL = YES;
|
||||
SUPPORTED_PLATFORMS = "watchsimulator watchos";
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
SWIFT_VERSION = 4.2;
|
||||
TARGETED_DEVICE_FAMILY = 4;
|
||||
WATCHOS_DEPLOYMENT_TARGET = 2.0;
|
||||
WATCHOS_DEPLOYMENT_TARGET = 3.0;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
@@ -1162,8 +1176,9 @@
|
||||
SDKROOT = watchos;
|
||||
SKIP_INSTALL = YES;
|
||||
SUPPORTED_PLATFORMS = "watchsimulator watchos";
|
||||
SWIFT_VERSION = 4.2;
|
||||
TARGETED_DEVICE_FAMILY = 4;
|
||||
WATCHOS_DEPLOYMENT_TARGET = 2.0;
|
||||
WATCHOS_DEPLOYMENT_TARGET = 3.0;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
|
||||
@@ -127,7 +127,7 @@ class PerformanceTests: XCTestCase {
|
||||
self.measure {
|
||||
autoreleasepool {
|
||||
if let dictionary = json.dictionary {
|
||||
XCTAssertTrue(dictionary.count > 0)
|
||||
XCTAssertTrue(dictionary.count == 100001)
|
||||
} else {
|
||||
XCTFail("dictionary should not be nil")
|
||||
}
|
||||
|
||||
@@ -262,7 +262,6 @@
|
||||
};
|
||||
B3B4C2BC1E25894B009F8E4E = {
|
||||
CreatedOnToolsVersion = 8.2.1;
|
||||
DevelopmentTeam = UNR5C68RPX;
|
||||
LastSwiftMigration = 1000;
|
||||
ProvisioningStyle = Automatic;
|
||||
};
|
||||
@@ -547,7 +546,7 @@
|
||||
CODE_SIGN_IDENTITY = "";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
DEVELOPMENT_TEAM = UNR5C68RPX;
|
||||
DEVELOPMENT_TEAM = "";
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(PROJECT_DIR)/Carthage/Build/Mac",
|
||||
@@ -572,7 +571,7 @@
|
||||
CODE_SIGN_IDENTITY = "";
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
DEVELOPMENT_TEAM = UNR5C68RPX;
|
||||
DEVELOPMENT_TEAM = "";
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(PROJECT_DIR)/Carthage/Build/Mac",
|
||||
|
||||
@@ -17,9 +17,9 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.2.2</string>
|
||||
<string>1.2.4</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>7</string>
|
||||
<string>9</string>
|
||||
<key>LSApplicationCategoryType</key>
|
||||
<string>public.app-category.utilities</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
|
||||
Reference in New Issue
Block a user