Permalink
Browse files

Merge iOS 1.0.1 732533c

  • Loading branch information...
youknowone committed Sep 9, 2018
2 parents b15b664 + 732533c commit ee69dd3b756202d6d13e1cbfa9b044375fb75e43
Showing with 6,012 additions and 2,470 deletions.
  1. +2 −0 Podfile
  2. +206 −76 iOS.xcodeproj/project.pbxproj
  3. +2 −0 iOS/Base.lproj/InfoPlist.strings
  4. +18 −4 iOS/Info.plist
  5. +1 −0 iOS/iOS-Bridging-Header.h
  6. 0 iOS/ko.lproj/InfoPlist.strings
  7. +44 −0 iOSApp/AdsViewController.swift
  8. +8 −7 iOSApp/AppDelegate.swift
  9. 0 iOSApp/Base.lproj/InfoPlist.strings
  10. +13 −0 iOSApp/Base.lproj/Localizable.strings
  11. +1,078 −177 iOSApp/Base.lproj/Main.storyboard
  12. +2 −2 iOSApp/GlobalActivicyIndicatorView.swift
  13. +22 −11 iOSApp/Images.xcassets/AppIcon.appiconset/Contents.json
  14. BIN iOSApp/Images.xcassets/AppIcon.appiconset/appstore_1024.png
  15. BIN iOSApp/Images.xcassets/AppIcon.appiconset/iPad_HomeScreen_152_Retina.png
  16. BIN iOSApp/Images.xcassets/AppIcon.appiconset/iPad_HomeScreen_76.png
  17. BIN iOSApp/Images.xcassets/AppIcon.appiconset/iPad_Settings_29.png
  18. BIN iOSApp/Images.xcassets/AppIcon.appiconset/iPad_Settings_58_Retina-1.png
  19. BIN iOSApp/Images.xcassets/AppIcon.appiconset/iPad_Settings_58_Retina.png
  20. BIN iOSApp/Images.xcassets/AppIcon.appiconset/iPad_Spotlight_40.png
  21. BIN iOSApp/Images.xcassets/AppIcon.appiconset/iPad_Spotlight_80_Retina-1.png
  22. BIN iOSApp/Images.xcassets/AppIcon.appiconset/iPad_Spotlight_80_Retina.png
  23. BIN iOSApp/Images.xcassets/AppIcon.appiconset/iPhone_HomeScreen_120_Retina.png
  24. BIN iOSApp/Images.xcassets/AppIcon.appiconset/iPhone_HomeScreen_180_HRetina.png
  25. +16 −2 iOSApp/Info.plist
  26. +74 −0 iOSApp/MainViewController.swift
  27. +6 −6 iOSApp/PreviewViewController.swift
  28. +168 −0 iOSApp/QuickHelperViewController.swift
  29. +126 −0 iOSApp/QuickHelperViewController2.swift
  30. +9 −10 {iOSCore → iOSApp}/StaticWebViewController.swift
  31. +7 −7 iOSApp/Store.swift
  32. +23 −3 iOSApp/TestViewController.swift
  33. +2 −2 iOSApp/ThemeShopViewController.swift
  34. +98 −43 iOSApp/ThemeViewController.swift
  35. BIN iOSApp/appstore_1024.png
  36. +7 −0 iOSApp/en.lproj/Localizable.strings
  37. +262 −67 iOSApp/en.lproj/Main.strings
  38. +2 −0 iOSApp/ko.lproj/InfoPlist.strings
  39. +15 −0 iOSApp/ko.lproj/Localizable.strings
  40. +222 −57 iOSApp/ko.lproj/Main.strings
  41. +0 −25 iOSCore/Hangeul.swift
  42. +0 −26 iOSCore/Info.plist
  43. +0 −270 iOSCore/InputViewController.swift
  44. +0 −275 iOSCore/NumpadKeyboardLayout.swift
  45. +0 −150 iOSCore/Preferences.swift
  46. +0 −456 iOSCore/QwertyKeyboardLayout.swift
  47. +0 −590 iOSCore/Theme.swift
  48. +10 −0 iOSShared/Bridging-Header.h
  49. +393 −0 iOSShared/EmoticonKeyboardLayout.swift
  50. +91 −0 iOSShared/EmoticonLayout.xib
  51. +18 −8 {iOSCore → iOSShared}/GRInputButton.h
  52. +70 −8 {iOSCore → iOSShared}/GRInputButton.m
  53. +28 −0 iOSShared/GRInputButton.swift
  54. +9 −9 {iOSCore → iOSShared}/GRKeyboardLayoutHelper.swift
  55. +62 −0 iOSShared/Hangeul.swift
  56. +126 −84 {iOSCore → iOSShared}/InputMethodView.swift
  57. +553 −0 iOSShared/InputViewController.swift
  58. +254 −85 {iOSCore → iOSShared}/KeyboardLayout.swift
  59. 0 {iOSCore → iOSShared}/NoLayout.xib
  60. +189 −0 iOSShared/NumberPadLayout.swift
  61. +4 −7 {iOSCore → iOSShared}/NumpadLayout.xib
  62. +204 −0 iOSShared/Preferences.swift
  63. +660 −0 iOSShared/QwertyKeyboardLayout.swift
  64. 0 {iOSCore → iOSShared}/QwertyLayout.xib
  65. +295 −0 iOSShared/TenkeyKeyboardLayout.swift
  66. +592 −0 iOSShared/Theme.swift
  67. +11 −0 iOSShared/emoticon.json
  68. +9 −2 iOSTests/GureumTests.swift
  69. +1 −1 iOSTests/Info.plist
View
@@ -20,6 +20,8 @@ target :'App' do
pod 'FoundationExtension/UIKitExtension'
pod 'Fabric'
pod 'Crashlytics'
pod 'GoogleMobileAds'
pod 'GlobalActivityIndicatorView'
end
target :'iOS' do
platform :ios, "9.0"

Large diffs are not rendered by default.

Oops, something went wrong.
@@ -0,0 +1,2 @@
"CFBundleDevelopmentRegion" = "ko";
"CFBundleDisplayName" = "한국어/영어";
View
@@ -5,23 +5,37 @@
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleDisplayName</key>
<string>한국어/영어</string>
<string>Korean/English</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<string>org.gureum.ios.inputmethod</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>XPC!</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<string>$(VERSION)</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
<string>$(VERSION).$(BUILD_NUMBER)</string>
<key>Fabric</key>
<dict>
<key>APIKey</key>
<string>1b5d8443c3eabba778b0d97bff234647af846181</string>
<key>Kits</key>
<array>
<dict>
<key>KitInfo</key>
<dict/>
<key>KitName</key>
<string>Crashlytics</string>
</dict>
</array>
</dict>
<key>NSExtension</key>
<dict>
<key>NSExtensionAttributes</key>
@@ -5,5 +5,6 @@
#include <hangeul/capi.h>
#include <FoundationExtension/FoundationExtension.h>
#include <UIKitExtension/UIKitExtension.h>
#include <GlobalActivityIndicatorView/GlobalActivityIndicatorView.h>
//#include "NSACommonCrypto.h"
#include "GRInputButton.h"
No changes.
@@ -0,0 +1,44 @@
//
// AdsViewController.swift
// Gureum
//
// Created by Jeong YunWon on 2015. 5. 27..
// Copyright (c) 2015년 youknowone.org. All rights reserved.
//
import UIKit
import GoogleMobileAds
let ADMOB_BANNER_ID: String = ""
let ADMOB_INTERSTITIAL_ID: String = ""
@objc extension UIViewController {
var bannerAdsView: GADBannerView! { get { return nil; } }
func loadBannerAds() {
if ADMOB_BANNER_ID != "" {
self.bannerAdsView.adUnitID = ADMOB_BANNER_ID
self.bannerAdsView.rootViewController = self
let request = GADRequest()
request.testDevices = [kGADSimulatorID]
self.bannerAdsView.load(request)
}
}
func loadInterstitialAds() -> GADInterstitial! {
if ADMOB_INTERSTITIAL_ID != "" {
let interstitial = GADInterstitial(adUnitID: ADMOB_INTERSTITIAL_ID)
interstitial.delegate = self as? GADInterstitialDelegate
let request = GADRequest()
//request.testDevices = [kGADSimulatorID]
interstitial.load(request)
return interstitial
} else {
return nil
}
}
}
View
@@ -10,6 +10,7 @@ import UIKit
import StoreKit
import Fabric
import Crashlytics
import GoogleMobileAds
var sharedAppDelegate: AppDelegate! = nil
@@ -18,14 +19,14 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey : Any]?) -> Bool {
// Override point for customization after application launch.
//if preferences.themeResources.count == 0 {
Crashlytics.start(withAPIKey: "1b5d8443c3eabba778b0d97bff234647af846181")
Theme.themeWithAddress(addr: preferences.themeAddress).dump() // FIXME: more sane initializer
//}
Fabric.with([Crashlytics()])
crashlyticsInitialized = true
sharedAppDelegate = self
store // force lazy loading
if preferences.themeResources.count == 0 {
Theme.themeWithAddress(addr: preferences.themePath).dump()
}
// store // force lazy loading
return true
}
No changes.
@@ -0,0 +1,13 @@
/*
Layout.strings
iOS
Created by Jeong YunWon on 2015. 4. 21..
Copyright (c) 2015년 youknowone.org. All rights reserved.
*/
"qwerty" = "QWERTY";
"danmoum" = "Danmoum";
"ksx5002" = "2Set";
"cheonjiin" = "Cheonjiin";
"emoticon" = "Emoticon";

Large diffs are not rendered by default.

Oops, something went wrong.
@@ -39,7 +39,7 @@ extension UIActivityIndicatorView {
var _UIWindowActivityIndicatorViews = Dictionary<UIWindow, UIActivityIndicatorView>()
func UIActivitiIndicatorViewForWindow(window: UIWindow) -> UIActivityIndicatorView {
func UIActivityIndicatorViewForWindow(window: UIWindow) -> UIActivityIndicatorView {
let indicator_ = _UIWindowActivityIndicatorViews[window]
if let indicator = indicator_ {
return indicator
@@ -55,7 +55,7 @@ func UIActivitiIndicatorViewForWindow(window: UIWindow) -> UIActivityIndicatorVi
extension UIWindow {
var activityIndicatorView: UIActivityIndicatorView {
get {
return UIActivitiIndicatorViewForWindow(window: self)
return UIActivityIndicatorViewForWindow(window: self)
}
}
}
@@ -11,8 +11,9 @@
"scale" : "3x"
},
{
"idiom" : "iphone",
"size" : "29x29",
"idiom" : "iphone",
"filename" : "iPad_Settings_58_Retina.png",
"scale" : "2x"
},
{
@@ -21,8 +22,9 @@
"scale" : "3x"
},
{
"idiom" : "iphone",
"size" : "40x40",
"idiom" : "iphone",
"filename" : "iPad_Spotlight_80_Retina.png",
"scale" : "2x"
},
{
@@ -31,13 +33,15 @@
"scale" : "3x"
},
{
"idiom" : "iphone",
"size" : "60x60",
"idiom" : "iphone",
"filename" : "iPhone_HomeScreen_120_Retina.png",
"scale" : "2x"
},
{
"idiom" : "iphone",
"size" : "60x60",
"idiom" : "iphone",
"filename" : "iPhone_HomeScreen_180_HRetina.png",
"scale" : "3x"
},
{
@@ -51,33 +55,39 @@
"scale" : "2x"
},
{
"idiom" : "ipad",
"size" : "29x29",
"idiom" : "ipad",
"filename" : "iPad_Settings_29.png",
"scale" : "1x"
},
{
"idiom" : "ipad",
"size" : "29x29",
"idiom" : "ipad",
"filename" : "iPad_Settings_58_Retina-1.png",
"scale" : "2x"
},
{
"idiom" : "ipad",
"size" : "40x40",
"idiom" : "ipad",
"filename" : "iPad_Spotlight_40.png",
"scale" : "1x"
},
{
"idiom" : "ipad",
"size" : "40x40",
"idiom" : "ipad",
"filename" : "iPad_Spotlight_80_Retina-1.png",
"scale" : "2x"
},
{
"idiom" : "ipad",
"size" : "76x76",
"idiom" : "ipad",
"filename" : "iPad_HomeScreen_76.png",
"scale" : "1x"
},
{
"idiom" : "ipad",
"size" : "76x76",
"idiom" : "ipad",
"filename" : "iPad_HomeScreen_152_Retina.png",
"scale" : "2x"
},
{
@@ -86,8 +96,9 @@
"scale" : "2x"
},
{
"idiom" : "ios-marketing",
"size" : "1024x1024",
"idiom" : "ios-marketing",
"filename" : "appstore_1024.png",
"scale" : "1x"
}
],
Binary file not shown.
Binary file not shown.
View
@@ -17,11 +17,25 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<string>$(VERSION)</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
<string>$(VERSION).$(BUILD_NUMBER)</string>
<key>Fabric</key>
<dict>
<key>APIKey</key>
<string>1b5d8443c3eabba778b0d97bff234647af846181</string>
<key>Kits</key>
<array>
<dict>
<key>KitInfo</key>
<dict/>
<key>KitName</key>
<string>Crashlytics</string>
</dict>
</array>
</dict>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UIMainStoryboardFile</key>
@@ -0,0 +1,74 @@
//
// MainViewController.swift
// Gureum
//
// Created by Jeong YunWon on 2014. 12. 31..
// Copyright (c) 2014년 youknowone.org. All rights reserved.
//
import Crashlytics
import GoogleMobileAds
@objc class MainViewController: UITableViewController {
@IBOutlet var _bannerAdsView: GADBannerView!
@objc override var bannerAdsView: GADBannerView! { get { return self._bannerAdsView; } }
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
self.loadBannerAds()
let quickhelper = preferences.object(forKey: "quickhelper", defaultValue: false) as! Bool
if !quickhelper {
if QuickHelperJoined {
let alert = UIAlertController(title: "빠른 설정 도우미", message: "빠른 설정 도우미를 취소할까요? 취소하면 기본 설정이 그대로 사용됩니다.", preferredStyle: .alert)
let continueAction = UIAlertAction(title: "계속", style: .default) {
(UIAlertAction) in
self.performSegue(withIdentifier: "quickhelper", sender: self)
}
alert.addAction(continueAction)
let cancelAction = UIAlertAction(title: "취소", style: .cancel) {
(UIAlertAction) in
preferences.setObject(true, forKey: "quickhelper")
}
alert.addAction(cancelAction)
self.present(alert, animated: true, completion: nil)
} else {
self.performSegue(withIdentifier: "quickhelper", sender: self)
let alert = UIAlertController(title: "빠른 설정 도우미", message: "구름 키보드를 처음 설치하셨기 때문에 빠른 설정 메뉴로 안내합니다. 빠른 설정에서는 키보드 이용 패턴에 맞게 빠르고 쉽게 배열을 고를 수 있습니다. 언제든 다시 실행할 수 있으니 부담 없이 설정해 보고 맘에 들지 않으면 다시 골라 주세요.", preferredStyle: .alert)
let action = UIAlertAction(title: "확인", style: .default, handler: nil)
alert.addAction(action)
self.present(alert, animated: true, completion: nil)
}
}
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = super.tableView(tableView, cellForRowAt: indexPath)
if indexPath.section == 2 {
switch indexPath.row {
case 1:
cell.accessoryType = preferences.swipe ? .checkmark : .none
case 2:
cell.accessoryType = preferences.inglobe ? .checkmark : .none
default:
break
}
}
return cell
}
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if indexPath.section == 2 {
switch indexPath.row {
case 1:
preferences.swipe = !preferences.swipe
case 2:
preferences.inglobe = !preferences.inglobe
default:
return
}
tableView.reloadData()
}
}
}
@@ -9,21 +9,21 @@
import UIKit
class PreviewInputViewController: InputViewController {
@objc class PreviewInputViewController: InputViewController {
var previewController: PreviewViewController! = nil
override func input(sender: UIButton) {
super.input(sender: sender)
override func input(_ sender: GRInputButton) {
super.input(sender)
self.previewController.update()
}
override func inputDelete(sender: UIButton) {
super.inputDelete(sender: sender)
override func inputDelete(_ sender: GRInputButton) {
super.inputDelete(sender)
self.previewController.update()
}
}
class PreviewViewController: UIViewController {
@objc class PreviewViewController: UIViewController {
@IBOutlet var preview: UIView!
let inputPreviewController = PreviewInputViewController()
Oops, something went wrong.

0 comments on commit ee69dd3

Please sign in to comment.