diff --git a/Stickers/Info.plist b/Stickers/Info.plist
new file mode 100644
index 0000000..789bc3b
--- /dev/null
+++ b/Stickers/Info.plist
@@ -0,0 +1,13 @@
+
+
+
+
+ NSExtension
+
+ NSExtensionPointIdentifier
+ com.apple.message-payload-provider
+ NSExtensionPrincipalClass
+ StickerBrowserViewController
+
+
+
diff --git a/Stickers/Stickers.xcassets/Contents.json b/Stickers/Stickers.xcassets/Contents.json
new file mode 100644
index 0000000..73c0059
--- /dev/null
+++ b/Stickers/Stickers.xcassets/Contents.json
@@ -0,0 +1,6 @@
+{
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/Stickers/Stickers.xcassets/Sticker Pack.stickerpack/App icon stickers1.sticker/App icon stickers1.png b/Stickers/Stickers.xcassets/Sticker Pack.stickerpack/App icon stickers1.sticker/App icon stickers1.png
new file mode 100644
index 0000000..bf0f2c7
Binary files /dev/null and b/Stickers/Stickers.xcassets/Sticker Pack.stickerpack/App icon stickers1.sticker/App icon stickers1.png differ
diff --git a/Stickers/Stickers.xcassets/Sticker Pack.stickerpack/App icon stickers1.sticker/Contents.json b/Stickers/Stickers.xcassets/Sticker Pack.stickerpack/App icon stickers1.sticker/Contents.json
new file mode 100644
index 0000000..52e73fa
--- /dev/null
+++ b/Stickers/Stickers.xcassets/Sticker Pack.stickerpack/App icon stickers1.sticker/Contents.json
@@ -0,0 +1,9 @@
+{
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ },
+ "properties" : {
+ "filename" : "App icon stickers1.png"
+ }
+}
diff --git a/Stickers/Stickers.xcassets/Sticker Pack.stickerpack/App icon stickers2.sticker/App icon stickers2.png b/Stickers/Stickers.xcassets/Sticker Pack.stickerpack/App icon stickers2.sticker/App icon stickers2.png
new file mode 100644
index 0000000..c153783
Binary files /dev/null and b/Stickers/Stickers.xcassets/Sticker Pack.stickerpack/App icon stickers2.sticker/App icon stickers2.png differ
diff --git a/Stickers/Stickers.xcassets/Sticker Pack.stickerpack/App icon stickers2.sticker/Contents.json b/Stickers/Stickers.xcassets/Sticker Pack.stickerpack/App icon stickers2.sticker/Contents.json
new file mode 100644
index 0000000..0e49386
--- /dev/null
+++ b/Stickers/Stickers.xcassets/Sticker Pack.stickerpack/App icon stickers2.sticker/Contents.json
@@ -0,0 +1,9 @@
+{
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ },
+ "properties" : {
+ "filename" : "App icon stickers2.png"
+ }
+}
diff --git a/Stickers/Stickers.xcassets/Sticker Pack.stickerpack/App icon stickers3.sticker/App icon stickers3.png b/Stickers/Stickers.xcassets/Sticker Pack.stickerpack/App icon stickers3.sticker/App icon stickers3.png
new file mode 100644
index 0000000..4f04eea
Binary files /dev/null and b/Stickers/Stickers.xcassets/Sticker Pack.stickerpack/App icon stickers3.sticker/App icon stickers3.png differ
diff --git a/Stickers/Stickers.xcassets/Sticker Pack.stickerpack/App icon stickers3.sticker/Contents.json b/Stickers/Stickers.xcassets/Sticker Pack.stickerpack/App icon stickers3.sticker/Contents.json
new file mode 100644
index 0000000..589300e
--- /dev/null
+++ b/Stickers/Stickers.xcassets/Sticker Pack.stickerpack/App icon stickers3.sticker/Contents.json
@@ -0,0 +1,9 @@
+{
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ },
+ "properties" : {
+ "filename" : "App icon stickers3.png"
+ }
+}
diff --git a/Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Contents.json b/Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Contents.json
new file mode 100644
index 0000000..d594eec
--- /dev/null
+++ b/Stickers/Stickers.xcassets/Sticker Pack.stickerpack/Contents.json
@@ -0,0 +1,20 @@
+{
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ },
+ "properties" : {
+ "grid-size" : "regular"
+ },
+ "stickers" : [
+ {
+ "filename" : "App icon stickers1.sticker"
+ },
+ {
+ "filename" : "App icon stickers2.sticker"
+ },
+ {
+ "filename" : "App icon stickers3.sticker"
+ }
+ ]
+}
diff --git a/Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/1024x1024.png b/Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/1024x1024.png
new file mode 100644
index 0000000..ac2d4a9
Binary files /dev/null and b/Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/1024x1024.png differ
diff --git a/Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/1024x768.png b/Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/1024x768.png
new file mode 100644
index 0000000..72dd7fb
Binary files /dev/null and b/Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/1024x768.png differ
diff --git a/Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/120x90.png b/Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/120x90.png
new file mode 100644
index 0000000..66cf932
Binary files /dev/null and b/Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/120x90.png differ
diff --git a/Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/134x100.png b/Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/134x100.png
new file mode 100644
index 0000000..f009363
Binary files /dev/null and b/Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/134x100.png differ
diff --git a/Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/148x110.png b/Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/148x110.png
new file mode 100644
index 0000000..632695f
Binary files /dev/null and b/Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/148x110.png differ
diff --git a/Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/180x135.png b/Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/180x135.png
new file mode 100644
index 0000000..1dc4ab5
Binary files /dev/null and b/Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/180x135.png differ
diff --git a/Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/54x40.png b/Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/54x40.png
new file mode 100644
index 0000000..9e406ec
Binary files /dev/null and b/Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/54x40.png differ
diff --git a/Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/58x58.png b/Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/58x58.png
new file mode 100644
index 0000000..77f8ef7
Binary files /dev/null and b/Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/58x58.png differ
diff --git a/Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/64x48.png b/Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/64x48.png
new file mode 100644
index 0000000..5ea21f0
Binary files /dev/null and b/Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/64x48.png differ
diff --git a/Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/81x60.png b/Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/81x60.png
new file mode 100644
index 0000000..a65d9d6
Binary files /dev/null and b/Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/81x60.png differ
diff --git a/Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/87x87.png b/Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/87x87.png
new file mode 100644
index 0000000..d382e48
Binary files /dev/null and b/Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/87x87.png differ
diff --git a/Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/96x72.png b/Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/96x72.png
new file mode 100644
index 0000000..ca4fc55
Binary files /dev/null and b/Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/96x72.png differ
diff --git a/Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Contents.json b/Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Contents.json
new file mode 100644
index 0000000..f73d8e6
--- /dev/null
+++ b/Stickers/Stickers.xcassets/iMessage App Icon.stickersiconset/Contents.json
@@ -0,0 +1,91 @@
+{
+ "images" : [
+ {
+ "filename" : "58x58.png",
+ "idiom" : "iphone",
+ "scale" : "2x",
+ "size" : "29x29"
+ },
+ {
+ "filename" : "87x87.png",
+ "idiom" : "iphone",
+ "scale" : "3x",
+ "size" : "29x29"
+ },
+ {
+ "filename" : "120x90.png",
+ "idiom" : "iphone",
+ "scale" : "2x",
+ "size" : "60x45"
+ },
+ {
+ "filename" : "180x135.png",
+ "idiom" : "iphone",
+ "scale" : "3x",
+ "size" : "60x45"
+ },
+ {
+ "filename" : "58x58.png",
+ "idiom" : "ipad",
+ "scale" : "2x",
+ "size" : "29x29"
+ },
+ {
+ "filename" : "134x100.png",
+ "idiom" : "ipad",
+ "scale" : "2x",
+ "size" : "67x50"
+ },
+ {
+ "filename" : "148x110.png",
+ "idiom" : "ipad",
+ "scale" : "2x",
+ "size" : "74x55"
+ },
+ {
+ "filename" : "1024x1024.png",
+ "idiom" : "ios-marketing",
+ "scale" : "1x",
+ "size" : "1024x1024"
+ },
+ {
+ "filename" : "54x40.png",
+ "idiom" : "universal",
+ "platform" : "ios",
+ "scale" : "2x",
+ "size" : "27x20"
+ },
+ {
+ "filename" : "81x60.png",
+ "idiom" : "universal",
+ "platform" : "ios",
+ "scale" : "3x",
+ "size" : "27x20"
+ },
+ {
+ "filename" : "64x48.png",
+ "idiom" : "universal",
+ "platform" : "ios",
+ "scale" : "2x",
+ "size" : "32x24"
+ },
+ {
+ "filename" : "96x72.png",
+ "idiom" : "universal",
+ "platform" : "ios",
+ "scale" : "3x",
+ "size" : "32x24"
+ },
+ {
+ "filename" : "1024x768.png",
+ "idiom" : "ios-marketing",
+ "platform" : "ios",
+ "scale" : "1x",
+ "size" : "1024x768"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/dns.xcodeproj/project.pbxproj b/dns.xcodeproj/project.pbxproj
index 496fa83..bdf3b2a 100644
--- a/dns.xcodeproj/project.pbxproj
+++ b/dns.xcodeproj/project.pbxproj
@@ -6,19 +6,66 @@
objectVersion = 77;
objects = {
+/* Begin PBXBuildFile section */
+ A08264132FC718790077B227 /* Stickers.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = A082640C2FC718790077B227 /* Stickers.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+ A08264112FC718790077B227 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 069DCCF22F8C0DCD00F1EB16 /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = A082640B2FC718790077B227;
+ remoteInfo = Stickers;
+ };
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXCopyFilesBuildPhase section */
+ A08264142FC718790077B227 /* Embed Foundation Extensions */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 13;
+ files = (
+ A08264132FC718790077B227 /* Stickers.appex in Embed Foundation Extensions */,
+ );
+ name = "Embed Foundation Extensions";
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXCopyFilesBuildPhase section */
+
/* Begin PBXFileReference section */
069DCCFA2F8C0DCE00F1EB16 /* dns.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = dns.app; sourceTree = BUILT_PRODUCTS_DIR; };
A06A74772F8E95410093A9E4 /* .gitignore */ = {isa = PBXFileReference; lastKnownFileType = text; path = .gitignore; sourceTree = ""; };
A06A74782F8E95410093A9E4 /* LICENCE */ = {isa = PBXFileReference; lastKnownFileType = text; path = LICENCE; sourceTree = ""; };
A06A74792F8E95410093A9E4 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; };
+ A082640C2FC718790077B227 /* Stickers.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = Stickers.appex; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */
+/* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */
+ A08264172FC718790077B227 /* Exceptions for "Stickers" folder in "Stickers" target */ = {
+ isa = PBXFileSystemSynchronizedBuildFileExceptionSet;
+ membershipExceptions = (
+ Info.plist,
+ );
+ target = A082640B2FC718790077B227 /* Stickers */;
+ };
+/* End PBXFileSystemSynchronizedBuildFileExceptionSet section */
+
/* Begin PBXFileSystemSynchronizedRootGroup section */
069DCCFC2F8C0DCE00F1EB16 /* dns */ = {
isa = PBXFileSystemSynchronizedRootGroup;
path = dns;
sourceTree = "";
};
+ A082640D2FC718790077B227 /* Stickers */ = {
+ isa = PBXFileSystemSynchronizedRootGroup;
+ exceptions = (
+ A08264172FC718790077B227 /* Exceptions for "Stickers" folder in "Stickers" target */,
+ );
+ path = Stickers;
+ sourceTree = "";
+ };
/* End PBXFileSystemSynchronizedRootGroup section */
/* Begin PBXFrameworksBuildPhase section */
@@ -39,6 +86,7 @@
A06A74782F8E95410093A9E4 /* LICENCE */,
A06A74792F8E95410093A9E4 /* README.md */,
069DCCFC2F8C0DCE00F1EB16 /* dns */,
+ A082640D2FC718790077B227 /* Stickers */,
069DCCFB2F8C0DCE00F1EB16 /* Products */,
);
sourceTree = "";
@@ -47,6 +95,7 @@
isa = PBXGroup;
children = (
069DCCFA2F8C0DCE00F1EB16 /* dns.app */,
+ A082640C2FC718790077B227 /* Stickers.appex */,
);
name = Products;
sourceTree = "";
@@ -61,10 +110,12 @@
069DCCF62F8C0DCE00F1EB16 /* Sources */,
069DCCF72F8C0DCE00F1EB16 /* Frameworks */,
069DCCF82F8C0DCE00F1EB16 /* Resources */,
+ A08264142FC718790077B227 /* Embed Foundation Extensions */,
);
buildRules = (
);
dependencies = (
+ A08264122FC718790077B227 /* PBXTargetDependency */,
);
fileSystemSynchronizedGroups = (
069DCCFC2F8C0DCE00F1EB16 /* dns */,
@@ -76,6 +127,26 @@
productReference = 069DCCFA2F8C0DCE00F1EB16 /* dns.app */;
productType = "com.apple.product-type.application";
};
+ A082640B2FC718790077B227 /* Stickers */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = A08264182FC718790077B227 /* Build configuration list for PBXNativeTarget "Stickers" */;
+ buildPhases = (
+ A082640A2FC718790077B227 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ fileSystemSynchronizedGroups = (
+ A082640D2FC718790077B227 /* Stickers */,
+ );
+ name = Stickers;
+ packageProductDependencies = (
+ );
+ productName = Stickers;
+ productReference = A082640C2FC718790077B227 /* Stickers.appex */;
+ productType = "com.apple.product-type.app-extension.messages-sticker-pack";
+ };
/* End PBXNativeTarget section */
/* Begin PBXProject section */
@@ -89,6 +160,9 @@
069DCCF92F8C0DCE00F1EB16 = {
CreatedOnToolsVersion = 26.4;
};
+ A082640B2FC718790077B227 = {
+ CreatedOnToolsVersion = 26.5;
+ };
};
};
buildConfigurationList = 069DCCF52F8C0DCD00F1EB16 /* Build configuration list for PBXProject "dns" */;
@@ -106,6 +180,7 @@
projectRoot = "";
targets = (
069DCCF92F8C0DCE00F1EB16 /* dns */,
+ A082640B2FC718790077B227 /* Stickers */,
);
};
/* End PBXProject section */
@@ -118,6 +193,13 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
+ A082640A2FC718790077B227 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
@@ -130,6 +212,14 @@
};
/* End PBXSourcesBuildPhase section */
+/* Begin PBXTargetDependency section */
+ A08264122FC718790077B227 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = A082640B2FC718790077B227 /* Stickers */;
+ targetProxy = A08264112FC718790077B227 /* PBXContainerItemProxy */;
+ };
+/* End PBXTargetDependency section */
+
/* Begin XCBuildConfiguration section */
069DCD032F8C0DCE00F1EB16 /* Debug */ = {
isa = XCBuildConfiguration;
@@ -330,6 +420,54 @@
};
name = Release;
};
+ A08264152FC718790077B227 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = "iMessage App Icon";
+ CODE_SIGN_IDENTITY = "Apple Development";
+ CODE_SIGN_STYLE = Automatic;
+ CURRENT_PROJECT_VERSION = 1;
+ DEVELOPMENT_TEAM = "";
+ GENERATE_INFOPLIST_FILE = YES;
+ INFOPLIST_FILE = Stickers/Info.plist;
+ INFOPLIST_KEY_CFBundleDisplayName = Stickers;
+ INFOPLIST_KEY_NSStickerSharingLevel = OS;
+ IPHONEOS_DEPLOYMENT_TARGET = 26.5;
+ MARKETING_VERSION = 1.0;
+ PRODUCT_BUNDLE_IDENTIFIER = uk.sr2.dns.Stickers;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ PROVISIONING_PROFILE_SPECIFIER = "";
+ SKIP_INSTALL = YES;
+ STRING_CATALOG_GENERATE_SYMBOLS = YES;
+ SWIFT_EMIT_LOC_STRINGS = YES;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ };
+ name = Debug;
+ };
+ A08264162FC718790077B227 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = "iMessage App Icon";
+ CODE_SIGN_IDENTITY = "Apple Development";
+ CODE_SIGN_STYLE = Automatic;
+ CURRENT_PROJECT_VERSION = 1;
+ DEVELOPMENT_TEAM = "";
+ GENERATE_INFOPLIST_FILE = YES;
+ INFOPLIST_FILE = Stickers/Info.plist;
+ INFOPLIST_KEY_CFBundleDisplayName = Stickers;
+ INFOPLIST_KEY_NSStickerSharingLevel = OS;
+ IPHONEOS_DEPLOYMENT_TARGET = 26.5;
+ MARKETING_VERSION = 1.0;
+ PRODUCT_BUNDLE_IDENTIFIER = uk.sr2.dns.Stickers;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ PROVISIONING_PROFILE_SPECIFIER = "";
+ SKIP_INSTALL = YES;
+ STRING_CATALOG_GENERATE_SYMBOLS = YES;
+ SWIFT_EMIT_LOC_STRINGS = YES;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ };
+ name = Release;
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -351,6 +489,15 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
+ A08264182FC718790077B227 /* Build configuration list for PBXNativeTarget "Stickers" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ A08264152FC718790077B227 /* Debug */,
+ A08264162FC718790077B227 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
/* End XCConfigurationList section */
};
rootObject = 069DCCF22F8C0DCD00F1EB16 /* Project object */;
diff --git a/dns/Assets.xcassets/AppIcon.appiconset/Contents.json b/dns/Assets.xcassets/AppIcon.appiconset/Contents.json
index 0a71a8d..d20dba3 100644
--- a/dns/Assets.xcassets/AppIcon.appiconset/Contents.json
+++ b/dns/Assets.xcassets/AppIcon.appiconset/Contents.json
@@ -5,28 +5,6 @@
"idiom" : "universal",
"platform" : "ios",
"size" : "1024x1024"
- },
- {
- "appearances" : [
- {
- "appearance" : "luminosity",
- "value" : "dark"
- }
- ],
- "idiom" : "universal",
- "platform" : "ios",
- "size" : "1024x1024"
- },
- {
- "appearances" : [
- {
- "appearance" : "luminosity",
- "value" : "tinted"
- }
- ],
- "idiom" : "universal",
- "platform" : "ios",
- "size" : "1024x1024"
}
],
"info" : {