Experiment

This commit is contained in:
Peter 2019-08-19 21:49:29 +03:00
parent 3d7ece927d
commit 7093541bff
30 changed files with 439 additions and 1434 deletions

View file

@ -10,5 +10,6 @@ framework(
frameworks = [
"$SDKROOT/System/Library/Frameworks/Foundation.framework",
"$SDKROOT/System/Library/Frameworks/CoreText.framework",
"$SDKROOT/System/Library/Frameworks/AVFoundation.framework",
],
)

View file

@ -11,40 +11,40 @@
<string>46</string>
<key>objects</key>
<dict>
<key>1DD70E29CCF717CF00000000</key>
<key>1DD70E292187879500000000</key>
<dict>
<key>isa</key>
<string>PBXFileReference</string>
<key>name</key>
<string>Emoji-Debug.xcconfig</string>
<string>EmojiFramework#iphonesimulator-x86_64-Debug.xcconfig</string>
<key>path</key>
<string>../../buck-out/gen/submodules/Emoji/Emoji-Debug.xcconfig</string>
<string>../../buck-out/gen/submodules/Emoji/EmojiFramework#iphonesimulator-x86_64-Debug.xcconfig</string>
<key>sourceTree</key>
<string>SOURCE_ROOT</string>
<key>explicitFileType</key>
<string>text.xcconfig</string>
</dict>
<key>1DD70E2950B2F77900000000</key>
<key>1DD70E29C2E68DBF00000000</key>
<dict>
<key>isa</key>
<string>PBXFileReference</string>
<key>name</key>
<string>Emoji-Profile.xcconfig</string>
<string>EmojiFramework#iphonesimulator-x86_64-Profile.xcconfig</string>
<key>path</key>
<string>../../buck-out/gen/submodules/Emoji/Emoji-Profile.xcconfig</string>
<string>../../buck-out/gen/submodules/Emoji/EmojiFramework#iphonesimulator-x86_64-Profile.xcconfig</string>
<key>sourceTree</key>
<string>SOURCE_ROOT</string>
<key>explicitFileType</key>
<string>text.xcconfig</string>
</dict>
<key>1DD70E29C449A2DB00000000</key>
<key>1DD70E29367D392100000000</key>
<dict>
<key>isa</key>
<string>PBXFileReference</string>
<key>name</key>
<string>Emoji-Release.xcconfig</string>
<string>EmojiFramework#iphonesimulator-x86_64-Release.xcconfig</string>
<key>path</key>
<string>../../buck-out/gen/submodules/Emoji/Emoji-Release.xcconfig</string>
<string>../../buck-out/gen/submodules/Emoji/EmojiFramework#iphonesimulator-x86_64-Release.xcconfig</string>
<key>sourceTree</key>
<string>SOURCE_ROOT</string>
<key>explicitFileType</key>
@ -60,9 +60,9 @@
<string><![CDATA[<group>]]></string>
<key>children</key>
<array>
<string>1DD70E29CCF717CF00000000</string>
<string>1DD70E2950B2F77900000000</string>
<string>1DD70E29C449A2DB00000000</string>
<string>1DD70E292187879500000000</string>
<string>1DD70E29C2E68DBF00000000</string>
<string>1DD70E29367D392100000000</string>
</array>
</dict>
<key>B401C979B781F65D00000000</key>
@ -102,6 +102,19 @@
<key>sourceTree</key>
<string>SOURCE_ROOT</string>
</dict>
<key>1DD70E2906C06BEE00000000</key>
<dict>
<key>isa</key>
<string>PBXFileReference</string>
<key>name</key>
<string>Info.plist</string>
<key>path</key>
<string>Info.plist</string>
<key>sourceTree</key>
<string><![CDATA[<group>]]></string>
<key>explicitFileType</key>
<string>text.plist</string>
</dict>
<key>B401C979EAB5339800000000</key>
<dict>
<key>isa</key>
@ -113,14 +126,15 @@
<key>children</key>
<array>
<string>1DD70E29C4C3D69000000000</string>
<string>1DD70E2906C06BEE00000000</string>
</array>
</dict>
<key>B401C97903FF902600000000</key>
<key>B401C97920924D2000000000</key>
<dict>
<key>isa</key>
<string>PBXGroup</string>
<key>name</key>
<string>Emoji</string>
<string>EmojiFramework#iphonesimulator-x86_64</string>
<key>sourceTree</key>
<string><![CDATA[<group>]]></string>
<key>children</key>
@ -129,18 +143,72 @@
<string>B401C979EAB5339800000000</string>
</array>
</dict>
<key>1DD70E29A59C927400000000</key>
<key>1DD70E291188565800000000</key>
<dict>
<key>isa</key>
<string>PBXFileReference</string>
<key>name</key>
<string>libEmoji.a</string>
<string>AVFoundation.framework</string>
<key>path</key>
<string>libEmoji.a</string>
<string>System/Library/Frameworks/AVFoundation.framework</string>
<key>sourceTree</key>
<string>SDKROOT</string>
<key>explicitFileType</key>
<string>wrapper.framework</string>
</dict>
<key>1DD70E29A179AC1C00000000</key>
<dict>
<key>isa</key>
<string>PBXFileReference</string>
<key>name</key>
<string>CoreText.framework</string>
<key>path</key>
<string>System/Library/Frameworks/CoreText.framework</string>
<key>sourceTree</key>
<string>SDKROOT</string>
<key>explicitFileType</key>
<string>wrapper.framework</string>
</dict>
<key>1DD70E29AE317AA300000000</key>
<dict>
<key>isa</key>
<string>PBXFileReference</string>
<key>name</key>
<string>Foundation.framework</string>
<key>path</key>
<string>System/Library/Frameworks/Foundation.framework</string>
<key>sourceTree</key>
<string>SDKROOT</string>
<key>explicitFileType</key>
<string>wrapper.framework</string>
</dict>
<key>B401C97968022A5500000000</key>
<dict>
<key>isa</key>
<string>PBXGroup</string>
<key>name</key>
<string>Frameworks</string>
<key>sourceTree</key>
<string><![CDATA[<group>]]></string>
<key>children</key>
<array>
<string>1DD70E291188565800000000</string>
<string>1DD70E29A179AC1C00000000</string>
<string>1DD70E29AE317AA300000000</string>
</array>
</dict>
<key>1DD70E29FC2E5C0800000000</key>
<dict>
<key>isa</key>
<string>PBXFileReference</string>
<key>name</key>
<string>EmojiFramework.framework</string>
<key>path</key>
<string>EmojiFramework.framework</string>
<key>sourceTree</key>
<string>BUILT_PRODUCTS_DIR</string>
<key>explicitFileType</key>
<string>archive.ar</string>
<string>wrapper.framework</string>
</dict>
<key>B401C979C806358400000000</key>
<dict>
@ -152,7 +220,7 @@
<string><![CDATA[<group>]]></string>
<key>children</key>
<array>
<string>1DD70E29A59C927400000000</string>
<string>1DD70E29FC2E5C0800000000</string>
</array>
</dict>
<key>B401C979EFB6AC4600000000</key>
@ -166,7 +234,8 @@
<key>children</key>
<array>
<string>B401C979B781F65D00000000</string>
<string>B401C97903FF902600000000</string>
<string>B401C97920924D2000000000</string>
<string>B401C97968022A5500000000</string>
<string>B401C979C806358400000000</string>
</array>
</dict>
@ -186,6 +255,38 @@
<string>E7A30F04C4C3D69000000000</string>
</array>
</dict>
<key>E7A30F041188565800000000</key>
<dict>
<key>isa</key>
<string>PBXBuildFile</string>
<key>fileRef</key>
<string>1DD70E291188565800000000</string>
</dict>
<key>E7A30F04A179AC1C00000000</key>
<dict>
<key>isa</key>
<string>PBXBuildFile</string>
<key>fileRef</key>
<string>1DD70E29A179AC1C00000000</string>
</dict>
<key>E7A30F04AE317AA300000000</key>
<dict>
<key>isa</key>
<string>PBXBuildFile</string>
<key>fileRef</key>
<string>1DD70E29AE317AA300000000</string>
</dict>
<key>4F426D880000000000000000</key>
<dict>
<key>isa</key>
<string>PBXFrameworksBuildPhase</string>
<key>files</key>
<array>
<string>E7A30F041188565800000000</string>
<string>E7A30F04A179AC1C00000000</string>
<string>E7A30F04AE317AA300000000</string>
</array>
</dict>
<key>4952437303EDA63300000000</key>
<dict>
<key>isa</key>
@ -196,7 +297,7 @@
<dict>
</dict>
<key>baseConfigurationReference</key>
<string>1DD70E29CCF717CF00000000</string>
<string>1DD70E292187879500000000</string>
</dict>
<key>4952437350C7218900000000</key>
<dict>
@ -208,7 +309,7 @@
<dict>
</dict>
<key>baseConfigurationReference</key>
<string>1DD70E2950B2F77900000000</string>
<string>1DD70E29C2E68DBF00000000</string>
</dict>
<key>49524373A439BFE700000000</key>
<dict>
@ -220,7 +321,7 @@
<dict>
</dict>
<key>baseConfigurationReference</key>
<string>1DD70E29C449A2DB00000000</string>
<string>1DD70E29367D392100000000</string>
</dict>
<key>218C37090000000000000000</key>
<dict>
@ -235,24 +336,25 @@
<key>defaultConfigurationIsVisible</key>
<false/>
</dict>
<key>E66DC04E03FF902600000000</key>
<key>E66DC04E20924D2000000000</key>
<dict>
<key>isa</key>
<string>PBXNativeTarget</string>
<key>name</key>
<string>Emoji</string>
<string>EmojiFramework#iphonesimulator-x86_64</string>
<key>productName</key>
<string>Emoji</string>
<string>EmojiFramework</string>
<key>productReference</key>
<string>1DD70E29A59C927400000000</string>
<string>1DD70E29FC2E5C0800000000</string>
<key>productType</key>
<string>com.apple.product-type.library.static</string>
<string>com.apple.product-type.framework</string>
<key>dependencies</key>
<array>
</array>
<key>buildPhases</key>
<array>
<string>1870857F0000000000000000</string>
<string>4F426D880000000000000000</string>
</array>
<key>buildConfigurationList</key>
<string>218C37090000000000000000</string>
@ -308,7 +410,7 @@
<string>B401C979EFB6AC4600000000</string>
<key>targets</key>
<array>
<string>E66DC04E03FF902600000000</string>
<string>E66DC04E20924D2000000000</string>
</array>
<key>buildConfigurationList</key>
<string>218C37090000000000000001</string>

View file

@ -1 +1,71 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><Scheme LastUpgradeVersion="9999" version="1.7"><BuildAction buildImplicitDependencies="YES" parallelizeBuildables="YES"><BuildActionEntries><BuildActionEntry buildForAnalyzing="YES" buildForArchiving="YES" buildForProfiling="YES" buildForRunning="YES" buildForTesting="YES"><BuildableReference BlueprintIdentifier="E66DC04E03FF902600000000" BlueprintName="Emoji" BuildableIdentifier="primary" BuildableName="libEmoji.a" ReferencedContainer="container:Emoji.xcodeproj"/></BuildActionEntry></BuildActionEntries></BuildAction><TestAction buildConfiguration="Debug" shouldUseLaunchSchemeArgsEnv="YES"><Testables/></TestAction><LaunchAction buildConfiguration="Debug"/><ProfileAction buildConfiguration="Release"/><AnalyzeAction buildConfiguration="Debug"/><ArchiveAction buildConfiguration="Release" revealArchiveInOrganizer="YES"/></Scheme>
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "9999"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "E66DC04E20924D2000000000"
BuildableName = "EmojiFramework.framework"
BlueprintName = "EmojiFramework#iphonesimulator-x86_64"
ReferencedContainer = "container:Emoji.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "E66DC04E20924D2000000000"
BuildableName = "EmojiFramework.framework"
BlueprintName = "EmojiFramework#iphonesimulator-x86_64"
ReferencedContainer = "container:Emoji.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View file

@ -1,5 +1,6 @@
import Foundation
import CoreText
import AVFoundation
public extension UnicodeScalar {
var isEmoji: Bool {
@ -52,6 +53,7 @@ public extension String {
}
var isSingleEmoji: Bool {
let _ = try? AVFoundation.AVAudioFile(forReading: URL(string: "")!)
return self.emojis.count == 1 && self.containsEmoji
}