Rename project to CryptoPassphrase
6
.gitignore
vendored
|
@ -1,7 +1,7 @@
|
||||||
*.o
|
*.o
|
||||||
*~
|
*~
|
||||||
scrypt-pwgen
|
cryptopassphrase
|
||||||
|
iOS/CryptoPassphrase.xcodeproj/project.xcworkspace
|
||||||
|
iOS/CryptoPassphrase.xcodeproj/xcuserdata
|
||||||
iOS/DerivedData
|
iOS/DerivedData
|
||||||
iOS/ObjFW
|
iOS/ObjFW
|
||||||
iOS/scrypt-pwgen.xcodeproj/project.xcworkspace
|
|
||||||
iOS/scrypt-pwgen.xcodeproj/xcuserdata
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2016 - 2019 Jonathan Schleifer <js@heap.zone>
|
* Copyright (c) 2016 - 2019 Jonathan Schleifer <js@heap.zone>
|
||||||
*
|
*
|
||||||
* https://heap.zone/git/scrypt-pwgen.git
|
* https://heap.zone/git/cryptopassphrase.git
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for any
|
* Permission to use, copy, modify, and/or distribute this software for any
|
||||||
* purpose with or without fee is hereby granted, provided that the above
|
* purpose with or without fee is hereby granted, provided that the above
|
||||||
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
#import <ObjFW/ObjFW.h>
|
#import <ObjFW/ObjFW.h>
|
||||||
|
|
||||||
@interface ScryptPWGen: OFObject <OFApplicationDelegate>
|
@interface CryptoPassphrase: OFObject <OFApplicationDelegate>
|
||||||
{
|
{
|
||||||
size_t _length;
|
size_t _length;
|
||||||
bool _legacy, _repeat;
|
bool _legacy, _repeat;
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2016 - 2019 Jonathan Schleifer <js@heap.zone>
|
* Copyright (c) 2016 - 2019 Jonathan Schleifer <js@heap.zone>
|
||||||
*
|
*
|
||||||
* https://heap.zone/git/scrypt-pwgen.git
|
* https://heap.zone/git/cryptopassphrase.git
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for any
|
* Permission to use, copy, modify, and/or distribute this software for any
|
||||||
* purpose with or without fee is hereby granted, provided that the above
|
* purpose with or without fee is hereby granted, provided that the above
|
||||||
|
@ -22,11 +22,11 @@
|
||||||
|
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
#import "ScryptPWGen.h"
|
#import "CryptoPassphrase.h"
|
||||||
#import "NewPasswordGenerator.h"
|
#import "NewPasswordGenerator.h"
|
||||||
#import "LegacyPasswordGenerator.h"
|
#import "LegacyPasswordGenerator.h"
|
||||||
|
|
||||||
OF_APPLICATION_DELEGATE(ScryptPWGen)
|
OF_APPLICATION_DELEGATE(CryptoPassphrase)
|
||||||
|
|
||||||
static void
|
static void
|
||||||
showHelp(OFStream *output, bool verbose)
|
showHelp(OFStream *output, bool verbose)
|
||||||
|
@ -46,7 +46,7 @@ showHelp(OFStream *output, bool verbose)
|
||||||
@" -r --repeat Repeat input\n"];
|
@" -r --repeat Repeat input\n"];
|
||||||
}
|
}
|
||||||
|
|
||||||
@implementation ScryptPWGen
|
@implementation CryptoPassphrase
|
||||||
- (void)applicationDidFinishLaunching
|
- (void)applicationDidFinishLaunching
|
||||||
{
|
{
|
||||||
OFString *keyFilePath, *lengthString;
|
OFString *keyFilePath, *lengthString;
|
||||||
|
@ -190,7 +190,8 @@ showHelp(OFStream *output, bool verbose)
|
||||||
of_explicit_memset(passphrase, 0, strlen(passphrase));
|
of_explicit_memset(passphrase, 0, strlen(passphrase));
|
||||||
|
|
||||||
if (keyFile != nil)
|
if (keyFile != nil)
|
||||||
of_explicit_memset(keyFile.items, 0, keyFile.count);
|
of_explicit_memset(keyFile.mutableItems, 0,
|
||||||
|
keyFile.count);
|
||||||
}
|
}
|
||||||
|
|
||||||
[OFApplication terminate];
|
[OFApplication terminate];
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2016 - 2019 Jonathan Schleifer <js@heap.zone>
|
* Copyright (c) 2016 - 2019 Jonathan Schleifer <js@heap.zone>
|
||||||
*
|
*
|
||||||
* https://heap.zone/git/scrypt-pwgen.git
|
* https://heap.zone/git/cryptopassphrase.git
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for any
|
* Permission to use, copy, modify, and/or distribute this software for any
|
||||||
* purpose with or without fee is hereby granted, provided that the above
|
* purpose with or without fee is hereby granted, provided that the above
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2016 - 2019 Jonathan Schleifer <js@heap.zone>
|
* Copyright (c) 2016 - 2019 Jonathan Schleifer <js@heap.zone>
|
||||||
*
|
*
|
||||||
* https://heap.zone/git/scrypt-pwgen.git
|
* https://heap.zone/git/cryptopassphrase.git
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for any
|
* Permission to use, copy, modify, and/or distribute this software for any
|
||||||
* purpose with or without fee is hereby granted, provided that the above
|
* purpose with or without fee is hereby granted, provided that the above
|
||||||
|
|
4
Makefile
|
@ -1,5 +1,5 @@
|
||||||
all:
|
all:
|
||||||
@objfw-compile -Werror -o scrypt-pwgen *.m
|
@objfw-compile -Werror -o cryptopassphrase *.m
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f *.o *~ scrypt-pwgen
|
rm -f *.o *~ cryptopassphrase
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2016 - 2019 Jonathan Schleifer <js@heap.zone>
|
* Copyright (c) 2016 - 2019 Jonathan Schleifer <js@heap.zone>
|
||||||
*
|
*
|
||||||
* https://heap.zone/git/scrypt-pwgen.git
|
* https://heap.zone/git/cryptopassphrase.git
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for any
|
* Permission to use, copy, modify, and/or distribute this software for any
|
||||||
* purpose with or without fee is hereby granted, provided that the above
|
* purpose with or without fee is hereby granted, provided that the above
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2016 - 2019 Jonathan Schleifer <js@heap.zone>
|
* Copyright (c) 2016 - 2019 Jonathan Schleifer <js@heap.zone>
|
||||||
*
|
*
|
||||||
* https://heap.zone/git/scrypt-pwgen.git
|
* https://heap.zone/git/cryptopassphrase.git
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for any
|
* Permission to use, copy, modify, and/or distribute this software for any
|
||||||
* purpose with or without fee is hereby granted, provided that the above
|
* purpose with or without fee is hereby granted, provided that the above
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2016 - 2019 Jonathan Schleifer <js@heap.zone>
|
* Copyright (c) 2016 - 2019 Jonathan Schleifer <js@heap.zone>
|
||||||
*
|
*
|
||||||
* https://heap.zone/git/scrypt-pwgen.git
|
* https://heap.zone/git/cryptopassphrase.git
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for any
|
* Permission to use, copy, modify, and/or distribute this software for any
|
||||||
* purpose with or without fee is hereby granted, provided that the above
|
* purpose with or without fee is hereby granted, provided that the above
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2016 - 2019 Jonathan Schleifer <js@heap.zone>
|
* Copyright (c) 2016 - 2019 Jonathan Schleifer <js@heap.zone>
|
||||||
*
|
*
|
||||||
* https://heap.zone/git/scrypt-pwgen.git
|
* https://heap.zone/git/cryptopassphrase.git
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for any
|
* Permission to use, copy, modify, and/or distribute this software for any
|
||||||
* purpose with or without fee is hereby granted, provided that the above
|
* purpose with or without fee is hereby granted, provided that the above
|
||||||
|
@ -40,26 +40,29 @@ class AboutController: UIViewController, UIWebViewDelegate {
|
||||||
"}" +
|
"}" +
|
||||||
"" +
|
"" +
|
||||||
"#title {" +
|
"#title {" +
|
||||||
" font-size: 2.5em;" +
|
" font-size: 2.1em;" +
|
||||||
" font-weight: bold;" +
|
" font-weight: bold;" +
|
||||||
|
" text-align: center;" +
|
||||||
"}" +
|
"}" +
|
||||||
"" +
|
"" +
|
||||||
"#copyright {" +
|
"#copyright {" +
|
||||||
" font-size: 0.9em;" +
|
" font-size: 0.9em;" +
|
||||||
" font-weight: bold;" +
|
" font-weight: bold;" +
|
||||||
|
" text-align: center;" +
|
||||||
"}" +
|
"}" +
|
||||||
"</style>" +
|
"</style>" +
|
||||||
"</head>" +
|
"</head>" +
|
||||||
"<body>" +
|
"<body>" +
|
||||||
"<div id='title'>" +
|
"<div id='title'>" +
|
||||||
" scrypt-pwgen \(version ?? "")" +
|
" CryptoPassphrase \(version ?? "")" +
|
||||||
"</div>" +
|
"</div>" +
|
||||||
"<div id='copyright'>" +
|
"<div id='copyright'>" +
|
||||||
" Copyright © 2016 - 2019 Jonathan Schleifer" +
|
" Copyright © 2016 - 2019 Jonathan Schleifer" +
|
||||||
"</div>" +
|
"</div>" +
|
||||||
"<p name='free_software'>" +
|
"<p name='free_software'>" +
|
||||||
" scrypt-pwgen is free software and the source code is available" +
|
" CryptoPassphrase is free software and the source code is" +
|
||||||
" at <a href='https://heap.zone/scrypt-pwgen/'>here</a>." +
|
" available at" +
|
||||||
|
" <a href='https://heap.zone/cryptopassphrase/'>here</a>." +
|
||||||
"</p>" +
|
"</p>" +
|
||||||
"<p name='objfw'>" +
|
"<p name='objfw'>" +
|
||||||
" It makes use of the" +
|
" It makes use of the" +
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2016 - 2019 Jonathan Schleifer <js@heap.zone>
|
* Copyright (c) 2016 - 2019 Jonathan Schleifer <js@heap.zone>
|
||||||
*
|
*
|
||||||
* https://heap.zone/git/scrypt-pwgen.git
|
* https://heap.zone/git/cryptopassphrase.git
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for any
|
* Permission to use, copy, modify, and/or distribute this software for any
|
||||||
* purpose with or without fee is hereby granted, provided that the above
|
* purpose with or without fee is hereby granted, provided that the above
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2016 - 2019 Jonathan Schleifer <js@heap.zone>
|
* Copyright (c) 2016 - 2019 Jonathan Schleifer <js@heap.zone>
|
||||||
*
|
*
|
||||||
* https://heap.zone/git/scrypt-pwgen.git
|
* https://heap.zone/git/cryptopassphrase.git
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for any
|
* Permission to use, copy, modify, and/or distribute this software for any
|
||||||
* purpose with or without fee is hereby granted, provided that the above
|
* purpose with or without fee is hereby granted, provided that the above
|
||||||
|
|
|
@ -33,13 +33,13 @@
|
||||||
{
|
{
|
||||||
"size" : "60x60",
|
"size" : "60x60",
|
||||||
"idiom" : "iphone",
|
"idiom" : "iphone",
|
||||||
"filename" : "scrypt-pwgen 120x120.png",
|
"filename" : "CryptoPassphrase 120x120.png",
|
||||||
"scale" : "2x"
|
"scale" : "2x"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"size" : "60x60",
|
"size" : "60x60",
|
||||||
"idiom" : "iphone",
|
"idiom" : "iphone",
|
||||||
"filename" : "scrypt-pwgen 180x180.png",
|
"filename" : "CryptoPassphrase 180x180.png",
|
||||||
"scale" : "3x"
|
"scale" : "3x"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -75,25 +75,25 @@
|
||||||
{
|
{
|
||||||
"size" : "76x76",
|
"size" : "76x76",
|
||||||
"idiom" : "ipad",
|
"idiom" : "ipad",
|
||||||
"filename" : "scrypt-pwgen 76x76.png",
|
"filename" : "CryptoPassphrase 76x76.png",
|
||||||
"scale" : "1x"
|
"scale" : "1x"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"size" : "76x76",
|
"size" : "76x76",
|
||||||
"idiom" : "ipad",
|
"idiom" : "ipad",
|
||||||
"filename" : "scrypt-pwgen 152x152.png",
|
"filename" : "CryptoPassphrase 152x152.png",
|
||||||
"scale" : "2x"
|
"scale" : "2x"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"size" : "83.5x83.5",
|
"size" : "83.5x83.5",
|
||||||
"idiom" : "ipad",
|
"idiom" : "ipad",
|
||||||
"filename" : "scrypt-pwgen 167x167.png",
|
"filename" : "CryptoPassphrase 167x167.png",
|
||||||
"scale" : "2x"
|
"scale" : "2x"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"size" : "1024x1024",
|
"size" : "1024x1024",
|
||||||
"idiom" : "ios-marketing",
|
"idiom" : "ios-marketing",
|
||||||
"filename" : "scrypt-pwgen.png",
|
"filename" : "CryptoPassphrase.png",
|
||||||
"scale" : "1x"
|
"scale" : "1x"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
Before Width: | Height: | Size: 8.2 KiB After Width: | Height: | Size: 8.2 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 4 KiB After Width: | Height: | Size: 4 KiB |
Before Width: | Height: | Size: 548 KiB After Width: | Height: | Size: 548 KiB |
|
@ -1,11 +1,11 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14460.31" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
|
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
|
||||||
<device id="retina4_7" orientation="portrait">
|
<device id="retina4_7" orientation="portrait">
|
||||||
<adaptation id="fullscreen"/>
|
<adaptation id="fullscreen"/>
|
||||||
</device>
|
</device>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<deployment identifier="iOS"/>
|
<deployment identifier="iOS"/>
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14460.20"/>
|
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14490.49"/>
|
||||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<scenes>
|
<scenes>
|
||||||
|
@ -21,9 +21,9 @@
|
||||||
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="scrypt-pwgen" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="GvW-cV-5uf">
|
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="CryptoPassphrase" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="GvW-cV-5uf">
|
||||||
<rect key="frame" x="0.0" y="20" width="375" height="610"/>
|
<rect key="frame" x="0.0" y="20" width="375" height="610"/>
|
||||||
<fontDescription key="fontDescription" type="system" weight="black" pointSize="37"/>
|
<fontDescription key="fontDescription" type="system" weight="black" pointSize="32"/>
|
||||||
<color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
|
<color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
|
||||||
<nil key="highlightedColor"/>
|
<nil key="highlightedColor"/>
|
||||||
<color key="shadowColor" red="0.23921568627450979" green="0.396078431372549" blue="0.54509803921568623" alpha="1" colorSpace="calibratedRGB"/>
|
<color key="shadowColor" red="0.23921568627450979" green="0.396078431372549" blue="0.54509803921568623" alpha="1" colorSpace="calibratedRGB"/>
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
<!--Sites-->
|
<!--Sites-->
|
||||||
<scene sceneID="raj-gx-00d">
|
<scene sceneID="raj-gx-00d">
|
||||||
<objects>
|
<objects>
|
||||||
<viewController id="P19-6i-fpd" customClass="MainViewController" customModule="scrypt_pwgen" customModuleProvider="target" sceneMemberID="viewController">
|
<viewController id="P19-6i-fpd" customClass="MainViewController" customModule="CryptoPassphrase" customModuleProvider="target" sceneMemberID="viewController">
|
||||||
<layoutGuides>
|
<layoutGuides>
|
||||||
<viewControllerLayoutGuide type="top" id="XVy-9K-Bul"/>
|
<viewControllerLayoutGuide type="top" id="XVy-9K-Bul"/>
|
||||||
<viewControllerLayoutGuide type="bottom" id="TZK-mv-9Bn"/>
|
<viewControllerLayoutGuide type="bottom" id="TZK-mv-9Bn"/>
|
||||||
|
@ -92,7 +92,7 @@
|
||||||
<!--About-->
|
<!--About-->
|
||||||
<scene sceneID="rga-fS-ski">
|
<scene sceneID="rga-fS-ski">
|
||||||
<objects>
|
<objects>
|
||||||
<viewController title="About" id="MZ3-iZ-Dsf" customClass="AboutController" customModule="scrypt_pwgen" customModuleProvider="target" sceneMemberID="viewController">
|
<viewController title="About" id="MZ3-iZ-Dsf" customClass="AboutController" customModule="CryptoPassphrase" customModuleProvider="target" sceneMemberID="viewController">
|
||||||
<layoutGuides>
|
<layoutGuides>
|
||||||
<viewControllerLayoutGuide type="top" id="8k0-QJ-gsC"/>
|
<viewControllerLayoutGuide type="top" id="8k0-QJ-gsC"/>
|
||||||
<viewControllerLayoutGuide type="bottom" id="NSX-G5-c03"/>
|
<viewControllerLayoutGuide type="bottom" id="NSX-G5-c03"/>
|
||||||
|
@ -129,7 +129,7 @@
|
||||||
<!--Add Site Controller-->
|
<!--Add Site Controller-->
|
||||||
<scene sceneID="IxZ-dn-p6h">
|
<scene sceneID="IxZ-dn-p6h">
|
||||||
<objects>
|
<objects>
|
||||||
<tableViewController id="mTn-Td-fIF" customClass="AddSiteController" customModule="scrypt_pwgen" customModuleProvider="target" sceneMemberID="viewController">
|
<tableViewController id="mTn-Td-fIF" customClass="AddSiteController" customModule="CryptoPassphrase" customModuleProvider="target" sceneMemberID="viewController">
|
||||||
<tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="static" style="grouped" separatorStyle="default" rowHeight="44" sectionHeaderHeight="18" sectionFooterHeight="18" id="cum-L6-K1B">
|
<tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="static" style="grouped" separatorStyle="default" rowHeight="44" sectionHeaderHeight="18" sectionFooterHeight="18" id="cum-L6-K1B">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
|
@ -305,7 +305,7 @@
|
||||||
<!--Select Key File Controller-->
|
<!--Select Key File Controller-->
|
||||||
<scene sceneID="fKq-Aa-JNA">
|
<scene sceneID="fKq-Aa-JNA">
|
||||||
<objects>
|
<objects>
|
||||||
<tableViewController id="4bs-rP-TxE" customClass="SelectKeyFileController" customModule="scrypt_pwgen" customModuleProvider="target" sceneMemberID="viewController">
|
<tableViewController id="4bs-rP-TxE" customClass="SelectKeyFileController" customModule="CryptoPassphrase" customModuleProvider="target" sceneMemberID="viewController">
|
||||||
<tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="28" sectionFooterHeight="28" id="SYH-wm-J8Z">
|
<tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="28" sectionFooterHeight="28" id="SYH-wm-J8Z">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
|
@ -343,7 +343,7 @@
|
||||||
<!--Show Details Controller-->
|
<!--Show Details Controller-->
|
||||||
<scene sceneID="rn9-fJ-mg7">
|
<scene sceneID="rn9-fJ-mg7">
|
||||||
<objects>
|
<objects>
|
||||||
<tableViewController id="ayJ-fs-aIU" customClass="ShowDetailsController" customModule="scrypt_pwgen" customModuleProvider="target" sceneMemberID="viewController">
|
<tableViewController id="ayJ-fs-aIU" customClass="ShowDetailsController" customModule="CryptoPassphrase" customModuleProvider="target" sceneMemberID="viewController">
|
||||||
<tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="static" style="grouped" separatorStyle="default" rowHeight="44" sectionHeaderHeight="18" sectionFooterHeight="18" id="vWS-Yc-qQ5">
|
<tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="static" style="grouped" separatorStyle="default" rowHeight="44" sectionHeaderHeight="18" sectionFooterHeight="18" id="vWS-Yc-qQ5">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
|
|
|
@ -45,7 +45,7 @@
|
||||||
/* End PBXCopyFilesBuildPhase section */
|
/* End PBXCopyFilesBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXFileReference section */
|
/* Begin PBXFileReference section */
|
||||||
4B2E52DC1DA942840040D091 /* scrypt-pwgen.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "scrypt-pwgen.app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
4B2E52DC1DA942840040D091 /* CryptoPassphrase.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = CryptoPassphrase.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
4B2E52E91DA942840040D091 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
|
4B2E52E91DA942840040D091 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
|
||||||
4B2E52EB1DA942840040D091 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
4B2E52EB1DA942840040D091 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
||||||
4B2E52EE1DA942840040D091 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
4B2E52EE1DA942840040D091 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
||||||
|
@ -89,8 +89,7 @@
|
||||||
4B2E52D31DA942840040D091 = {
|
4B2E52D31DA942840040D091 = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
4BA115CC1DA9431D007ED4EA /* scrypt-pwgen */,
|
4BA115CC1DA9431D007ED4EA /* CryptoPassphrase */,
|
||||||
4B2E52DE1DA942840040D091 /* iOS */,
|
|
||||||
4B2E52DD1DA942840040D091 /* Products */,
|
4B2E52DD1DA942840040D091 /* Products */,
|
||||||
4BA115D41DA94390007ED4EA /* Frameworks */,
|
4BA115D41DA94390007ED4EA /* Frameworks */,
|
||||||
);
|
);
|
||||||
|
@ -99,7 +98,7 @@
|
||||||
4B2E52DD1DA942840040D091 /* Products */ = {
|
4B2E52DD1DA942840040D091 /* Products */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
4B2E52DC1DA942840040D091 /* scrypt-pwgen.app */,
|
4B2E52DC1DA942840040D091 /* CryptoPassphrase.app */,
|
||||||
);
|
);
|
||||||
name = Products;
|
name = Products;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
|
@ -125,16 +124,17 @@
|
||||||
name = iOS;
|
name = iOS;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
4BA115CC1DA9431D007ED4EA /* scrypt-pwgen */ = {
|
4BA115CC1DA9431D007ED4EA /* CryptoPassphrase */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
4B2E52DE1DA942840040D091 /* iOS */,
|
||||||
4BA115CD1DA9432D007ED4EA /* LegacyPasswordGenerator.h */,
|
4BA115CD1DA9432D007ED4EA /* LegacyPasswordGenerator.h */,
|
||||||
4BA115CE1DA9432D007ED4EA /* LegacyPasswordGenerator.m */,
|
4BA115CE1DA9432D007ED4EA /* LegacyPasswordGenerator.m */,
|
||||||
4BA115CF1DA9432D007ED4EA /* NewPasswordGenerator.h */,
|
4BA115CF1DA9432D007ED4EA /* NewPasswordGenerator.h */,
|
||||||
4BA115D01DA9432D007ED4EA /* NewPasswordGenerator.m */,
|
4BA115D01DA9432D007ED4EA /* NewPasswordGenerator.m */,
|
||||||
4BA115D11DA9432D007ED4EA /* PasswordGenerator.h */,
|
4BA115D11DA9432D007ED4EA /* PasswordGenerator.h */,
|
||||||
);
|
);
|
||||||
name = "scrypt-pwgen";
|
name = CryptoPassphrase;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
4BA115D41DA94390007ED4EA /* Frameworks */ = {
|
4BA115D41DA94390007ED4EA /* Frameworks */ = {
|
||||||
|
@ -151,9 +151,9 @@
|
||||||
/* End PBXGroup section */
|
/* End PBXGroup section */
|
||||||
|
|
||||||
/* Begin PBXNativeTarget section */
|
/* Begin PBXNativeTarget section */
|
||||||
4B2E52DB1DA942840040D091 /* scrypt-pwgen */ = {
|
4B2E52DB1DA942840040D091 /* CryptoPassphrase */ = {
|
||||||
isa = PBXNativeTarget;
|
isa = PBXNativeTarget;
|
||||||
buildConfigurationList = 4B2E52F31DA942840040D091 /* Build configuration list for PBXNativeTarget "scrypt-pwgen" */;
|
buildConfigurationList = 4B2E52F31DA942840040D091 /* Build configuration list for PBXNativeTarget "CryptoPassphrase" */;
|
||||||
buildPhases = (
|
buildPhases = (
|
||||||
4B2E52D81DA942840040D091 /* Sources */,
|
4B2E52D81DA942840040D091 /* Sources */,
|
||||||
4B2E52D91DA942840040D091 /* Frameworks */,
|
4B2E52D91DA942840040D091 /* Frameworks */,
|
||||||
|
@ -164,9 +164,9 @@
|
||||||
);
|
);
|
||||||
dependencies = (
|
dependencies = (
|
||||||
);
|
);
|
||||||
name = "scrypt-pwgen";
|
name = CryptoPassphrase;
|
||||||
productName = "scrypt-pwgen";
|
productName = CryptoPassphrase;
|
||||||
productReference = 4B2E52DC1DA942840040D091 /* scrypt-pwgen.app */;
|
productReference = 4B2E52DC1DA942840040D091 /* CryptoPassphrase.app */;
|
||||||
productType = "com.apple.product-type.application";
|
productType = "com.apple.product-type.application";
|
||||||
};
|
};
|
||||||
/* End PBXNativeTarget section */
|
/* End PBXNativeTarget section */
|
||||||
|
@ -186,7 +186,7 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
buildConfigurationList = 4B2E52D71DA942840040D091 /* Build configuration list for PBXProject "scrypt-pwgen" */;
|
buildConfigurationList = 4B2E52D71DA942840040D091 /* Build configuration list for PBXProject "CryptoPassphrase" */;
|
||||||
compatibilityVersion = "Xcode 3.2";
|
compatibilityVersion = "Xcode 3.2";
|
||||||
developmentRegion = English;
|
developmentRegion = English;
|
||||||
hasScannedForEncodings = 0;
|
hasScannedForEncodings = 0;
|
||||||
|
@ -200,7 +200,7 @@
|
||||||
projectDirPath = "";
|
projectDirPath = "";
|
||||||
projectRoot = "";
|
projectRoot = "";
|
||||||
targets = (
|
targets = (
|
||||||
4B2E52DB1DA942840040D091 /* scrypt-pwgen */,
|
4B2E52DB1DA942840040D091 /* CryptoPassphrase */,
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
/* End PBXProject section */
|
/* End PBXProject section */
|
||||||
|
@ -379,7 +379,7 @@
|
||||||
HEADER_SEARCH_PATHS = ObjFW/include;
|
HEADER_SEARCH_PATHS = ObjFW/include;
|
||||||
INFOPLIST_FILE = Info.plist;
|
INFOPLIST_FILE = Info.plist;
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = "zone.heap.scrypt-pwgen.ios";
|
PRODUCT_BUNDLE_IDENTIFIER = zone.heap.cryptopassphrase;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
SWIFT_OBJC_BRIDGING_HEADER = bridge.h;
|
SWIFT_OBJC_BRIDGING_HEADER = bridge.h;
|
||||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||||
|
@ -404,7 +404,7 @@
|
||||||
HEADER_SEARCH_PATHS = ObjFW/include;
|
HEADER_SEARCH_PATHS = ObjFW/include;
|
||||||
INFOPLIST_FILE = Info.plist;
|
INFOPLIST_FILE = Info.plist;
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = "zone.heap.scrypt-pwgen.ios";
|
PRODUCT_BUNDLE_IDENTIFIER = zone.heap.cryptopassphrase;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
SWIFT_OBJC_BRIDGING_HEADER = bridge.h;
|
SWIFT_OBJC_BRIDGING_HEADER = bridge.h;
|
||||||
SWIFT_VERSION = 5.0;
|
SWIFT_VERSION = 5.0;
|
||||||
|
@ -415,7 +415,7 @@
|
||||||
/* End XCBuildConfiguration section */
|
/* End XCBuildConfiguration section */
|
||||||
|
|
||||||
/* Begin XCConfigurationList section */
|
/* Begin XCConfigurationList section */
|
||||||
4B2E52D71DA942840040D091 /* Build configuration list for PBXProject "scrypt-pwgen" */ = {
|
4B2E52D71DA942840040D091 /* Build configuration list for PBXProject "CryptoPassphrase" */ = {
|
||||||
isa = XCConfigurationList;
|
isa = XCConfigurationList;
|
||||||
buildConfigurations = (
|
buildConfigurations = (
|
||||||
4B2E52F11DA942840040D091 /* Debug */,
|
4B2E52F11DA942840040D091 /* Debug */,
|
||||||
|
@ -424,7 +424,7 @@
|
||||||
defaultConfigurationIsVisible = 0;
|
defaultConfigurationIsVisible = 0;
|
||||||
defaultConfigurationName = Release;
|
defaultConfigurationName = Release;
|
||||||
};
|
};
|
||||||
4B2E52F31DA942840040D091 /* Build configuration list for PBXNativeTarget "scrypt-pwgen" */ = {
|
4B2E52F31DA942840040D091 /* Build configuration list for PBXNativeTarget "CryptoPassphrase" */ = {
|
||||||
isa = XCConfigurationList;
|
isa = XCConfigurationList;
|
||||||
buildConfigurations = (
|
buildConfigurations = (
|
||||||
4B2E52F41DA942840040D091 /* Debug */,
|
4B2E52F41DA942840040D091 /* Debug */,
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2016 - 2019 Jonathan Schleifer <js@heap.zone>
|
* Copyright (c) 2016 - 2019 Jonathan Schleifer <js@heap.zone>
|
||||||
*
|
*
|
||||||
* https://heap.zone/git/scrypt-pwgen.git
|
* https://heap.zone/git/cryptopassphrase.git
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for any
|
* Permission to use, copy, modify, and/or distribute this software for any
|
||||||
* purpose with or without fee is hereby granted, provided that the above
|
* purpose with or without fee is hereby granted, provided that the above
|
||||||
|
|
|
@ -4,6 +4,8 @@
|
||||||
<dict>
|
<dict>
|
||||||
<key>CFBundleDevelopmentRegion</key>
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
<string>en</string>
|
<string>en</string>
|
||||||
|
<key>CFBundleDisplayName</key>
|
||||||
|
<string>CryptoPassphrase</string>
|
||||||
<key>CFBundleExecutable</key>
|
<key>CFBundleExecutable</key>
|
||||||
<string>$(EXECUTABLE_NAME)</string>
|
<string>$(EXECUTABLE_NAME)</string>
|
||||||
<key>CFBundleIdentifier</key>
|
<key>CFBundleIdentifier</key>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2016 - 2019 Jonathan Schleifer <js@heap.zone>
|
* Copyright (c) 2016 - 2019 Jonathan Schleifer <js@heap.zone>
|
||||||
*
|
*
|
||||||
* https://heap.zone/git/scrypt-pwgen.git
|
* https://heap.zone/git/cryptopassphrase.git
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for any
|
* Permission to use, copy, modify, and/or distribute this software for any
|
||||||
* purpose with or without fee is hereby granted, provided that the above
|
* purpose with or without fee is hereby granted, provided that the above
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2016 - 2019 Jonathan Schleifer <js@heap.zone>
|
* Copyright (c) 2016 - 2019 Jonathan Schleifer <js@heap.zone>
|
||||||
*
|
*
|
||||||
* https://heap.zone/git/scrypt-pwgen.git
|
* https://heap.zone/git/cryptopassphrase.git
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for any
|
* Permission to use, copy, modify, and/or distribute this software for any
|
||||||
* purpose with or without fee is hereby granted, provided that the above
|
* purpose with or without fee is hereby granted, provided that the above
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2016 - 2019 Jonathan Schleifer <js@heap.zone>
|
* Copyright (c) 2016 - 2019 Jonathan Schleifer <js@heap.zone>
|
||||||
*
|
*
|
||||||
* https://heap.zone/git/scrypt-pwgen.git
|
* https://heap.zone/git/cryptopassphrase.git
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for any
|
* Permission to use, copy, modify, and/or distribute this software for any
|
||||||
* purpose with or without fee is hereby granted, provided that the above
|
* purpose with or without fee is hereby granted, provided that the above
|
||||||
|
|
|
@ -1,24 +1,24 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2016 - 2019 Jonathan Schleifer <js@heap.zone>
|
* Copyright (c) 2016 - 2019 Jonathan Schleifer <js@heap.zone>
|
||||||
*
|
*
|
||||||
* https://heap.zone/git/scrypt-pwgen.git
|
* https://heap.zone/git/cryptopassphrase.git
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for any
|
* Permission to use, copy, modify, and/or distribute this software for any
|
||||||
* purpose with or without fee is hereby granted, provided that the above
|
* purpose with or without fee is hereby granted, provided that the above
|
||||||
* copyright notice and this permission notice is present in all copies.
|
* copyright notice and this permission notice is present in all copies.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import ObjFW
|
import ObjFW
|
||||||
import ObjFW_Bridge
|
import ObjFW_Bridge
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2016 - 2019 Jonathan Schleifer <js@heap.zone>
|
* Copyright (c) 2016 - 2019 Jonathan Schleifer <js@heap.zone>
|
||||||
*
|
*
|
||||||
* https://heap.zone/git/scrypt-pwgen.git
|
* https://heap.zone/git/cryptopassphrase.git
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for any
|
* Permission to use, copy, modify, and/or distribute this software for any
|
||||||
* purpose with or without fee is hereby granted, provided that the above
|
* purpose with or without fee is hereby granted, provided that the above
|
||||||
|
|
12
iOS/main.m
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2016 - 2019 Jonathan Schleifer <js@heap.zone>
|
* Copyright (c) 2016 - 2019 Jonathan Schleifer <js@heap.zone>
|
||||||
*
|
*
|
||||||
* https://heap.zone/git/scrypt-pwgen.git
|
* https://heap.zone/git/cryptopassphrase.git
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for any
|
* Permission to use, copy, modify, and/or distribute this software for any
|
||||||
* purpose with or without fee is hereby granted, provided that the above
|
* purpose with or without fee is hereby granted, provided that the above
|
||||||
|
@ -24,21 +24,13 @@
|
||||||
#import <ObjFW/ObjFW.h>
|
#import <ObjFW/ObjFW.h>
|
||||||
#import <ObjFW_Bridge/ObjFW_Bridge.h>
|
#import <ObjFW_Bridge/ObjFW_Bridge.h>
|
||||||
|
|
||||||
#import "scrypt_pwgen-Swift.h"
|
#import "CryptoPassphrase-Swift.h"
|
||||||
|
|
||||||
@interface OFAppDelegate: OFObject <OFApplicationDelegate>
|
@interface OFAppDelegate: OFObject <OFApplicationDelegate>
|
||||||
@end
|
@end
|
||||||
|
|
||||||
OF_APPLICATION_DELEGATE(OFAppDelegate)
|
OF_APPLICATION_DELEGATE(OFAppDelegate)
|
||||||
|
|
||||||
void
|
|
||||||
_references_to_categories_of_ObjFW_Bridge(void)
|
|
||||||
{
|
|
||||||
_NSString_OFObject_reference = 1;
|
|
||||||
_OFArray_NSObject_reference = 1;
|
|
||||||
_OFString_NSObject_reference = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
@implementation OFAppDelegate
|
@implementation OFAppDelegate
|
||||||
- (void)applicationDidFinishLaunching
|
- (void)applicationDidFinishLaunching
|
||||||
{
|
{
|
||||||
|
|