diff --git a/Tigase iOS Messenger/Assets.xcassets/AppIcon.appiconset/Contents.json b/Tigase iOS Messenger/Assets.xcassets/AppIcon.appiconset/Contents.json index 98c4392..4eafaa8 100644 --- a/Tigase iOS Messenger/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/Tigase iOS Messenger/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -100,8 +100,9 @@ "scale" : "2x" }, { - "idiom" : "ipad", "size" : "83.5x83.5", + "idiom" : "ipad", + "filename" : "logo_ipadpro.png", "scale" : "2x" } ], diff --git a/Tigase iOS Messenger/Assets.xcassets/AppIcon.appiconset/logo_ipadpro.png b/Tigase iOS Messenger/Assets.xcassets/AppIcon.appiconset/logo_ipadpro.png new file mode 100644 index 0000000..ffddc42 Binary files /dev/null and b/Tigase iOS Messenger/Assets.xcassets/AppIcon.appiconset/logo_ipadpro.png differ diff --git a/Tigase iOS Messenger/database/DBRosterStore.swift b/Tigase iOS Messenger/database/DBRosterStore.swift index 640a024..7a21bfc 100644 --- a/Tigase iOS Messenger/database/DBRosterStore.swift +++ b/Tigase iOS Messenger/database/DBRosterStore.swift @@ -125,11 +125,13 @@ public class DBRosterStore: RosterCacheProvider, LocalQueueDispatcher { } for group in dbItem.groups { - var groupId = try? getGroupIdStmt.scalar(["name": group]); + let gparams:[String:Any?] = ["name": group]; + var groupId = try! getGroupIdStmt.scalar(gparams); if groupId == nil { - groupId = try? insertGroupStmt.insert(["name": group]); + groupId = try! insertGroupStmt.insert(gparams); } - try insertItemGroupStmt.insert(["item_id": item.id, "group_id": groupId]); + let igparams:[String:Any?] = ["item_id": dbItem.id, "group_id": groupId]; + try insertItemGroupStmt.insert(igparams); } return dbItem; } catch _ { diff --git a/Tigase iOS Messenger/settings/SettingsViewController.swift b/Tigase iOS Messenger/settings/SettingsViewController.swift index 5d381ed..20b1796 100644 --- a/Tigase iOS Messenger/settings/SettingsViewController.swift +++ b/Tigase iOS Messenger/settings/SettingsViewController.swift @@ -195,11 +195,11 @@ class SettingsViewController: UITableViewController, EventHandler { }) })); } - alert.addAction(UIAlertAction(title: "Keep", style: .Default, handler: { (action) in + alert.addAction(UIAlertAction(title: "Remove", style: .Default, handler: { (action) in AccountManager.deleteAccount(account); self.tableView.reloadData(); })); - alert.addAction(UIAlertAction(title: "Cancel", style: .Default, handler: nil)); + alert.addAction(UIAlertAction(title: "Keep", style: .Default, handler: nil)); self.presentViewController(alert, animated: true, completion: nil); } } diff --git a/Tigase-iOS-Messenger.xcodeproj/project.pbxproj b/Tigase-iOS-Messenger.xcodeproj/project.pbxproj index d3d12c3..db50057 100644 --- a/Tigase-iOS-Messenger.xcodeproj/project.pbxproj +++ b/Tigase-iOS-Messenger.xcodeproj/project.pbxproj @@ -7,10 +7,10 @@ objects = { /* Begin PBXBuildFile section */ + FE04733E1D86E79300E6D6CE /* TigaseSwift.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = FE04733D1D86E79300E6D6CE /* TigaseSwift.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + FE04733F1D86E8A700E6D6CE /* TigaseSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FE04733D1D86E79300E6D6CE /* TigaseSwift.framework */; }; FE0A674D1D4F645F00124480 /* CachedViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE0A674C1D4F645F00124480 /* CachedViewController.swift */; }; FE168ACD1CCD197A003F8B26 /* db-schema-1.0.0.sql in Resources */ = {isa = PBXBuildFile; fileRef = FE168ACC1CCD197A003F8B26 /* db-schema-1.0.0.sql */; }; - FE3024211CDCD0A300466497 /* TigaseSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FE3024201CDCD0A300466497 /* TigaseSwift.framework */; }; - FE3024221CDCD0A900466497 /* TigaseSwift.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = FE3024201CDCD0A300466497 /* TigaseSwift.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; FE3024321CE2036A00466497 /* DBVCardsCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE3024311CE2036A00466497 /* DBVCardsCache.swift */; }; FE3A45CF1CE49D3300C36264 /* RosterItemEditViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE3A45CE1CE49D3300C36264 /* RosterItemEditViewController.swift */; }; FE5079DA1CCE56F3001A015C /* XmppService.swift in Sources */ = {isa = PBXBuildFile; fileRef = FE5079D91CCE56F3001A015C /* XmppService.swift */; }; @@ -86,7 +86,7 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - FE3024221CDCD0A900466497 /* TigaseSwift.framework in Embed Frameworks */, + FE04733E1D86E79300E6D6CE /* TigaseSwift.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -94,9 +94,9 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + FE04733D1D86E79300E6D6CE /* TigaseSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; name = TigaseSwift.framework; path = "/Users/andrzej/Library/Developer/Xcode/DerivedData/workspace_ts-cggcwjpodibzegaecyuraswpljwr/Build/Products/Debug-iphoneos/TigaseSwift.framework"; sourceTree = ""; }; FE0A674C1D4F645F00124480 /* CachedViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CachedViewController.swift; sourceTree = ""; }; FE168ACC1CCD197A003F8B26 /* db-schema-1.0.0.sql */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "db-schema-1.0.0.sql"; sourceTree = ""; }; - FE3024201CDCD0A300466497 /* TigaseSwift.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = TigaseSwift.framework; path = "../../../Library/Developer/Xcode/DerivedData/workspace_ts-cggcwjpodibzegaecyuraswpljwr/Build/Products/Debug-iphoneos/TigaseSwift.framework"; sourceTree = ""; }; FE3024311CE2036A00466497 /* DBVCardsCache.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DBVCardsCache.swift; sourceTree = ""; }; FE3A45CE1CE49D3300C36264 /* RosterItemEditViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RosterItemEditViewController.swift; sourceTree = ""; }; FE5079D91CCE56F3001A015C /* XmppService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = XmppService.swift; sourceTree = ""; }; @@ -160,7 +160,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - FE3024211CDCD0A300466497 /* TigaseSwift.framework in Frameworks */, + FE04733F1D86E8A700E6D6CE /* TigaseSwift.framework in Frameworks */, FE5079F01CD3CA91001A015C /* Security.framework in Frameworks */, FE94E55E1CCCC14E00FAE755 /* libsqlite3.tbd in Frameworks */, ); @@ -261,7 +261,7 @@ FE94E5181CCBA74F00FAE755 = { isa = PBXGroup; children = ( - FE3024201CDCD0A300466497 /* TigaseSwift.framework */, + FE04733D1D86E79300E6D6CE /* TigaseSwift.framework */, FE5079EF1CD3CA91001A015C /* Security.framework */, FE94E55D1CCCC14E00FAE755 /* libsqlite3.tbd */, FE94E5231CCBA74F00FAE755 /* Tigase iOS Messenger */, @@ -354,8 +354,9 @@ FE94E51D1CCBA74F00FAE755 /* Sources */, FE94E51E1CCBA74F00FAE755 /* Frameworks */, FE94E51F1CCBA74F00FAE755 /* Resources */, - FECD0F2A1CDB8B1B00420DF5 /* ShellScript */, + FECD0F2A1CDB8B1B00420DF5 /* Mark TODO and FIX ME */, FEF80DB71CDCC508005645A7 /* Embed Frameworks */, + FE0473391D86CEE700E6D6CE /* Trim Framework Executables */, ); buildRules = ( ); @@ -414,7 +415,7 @@ TargetAttributes = { FE94E5201CCBA74F00FAE755 = { CreatedOnToolsVersion = 7.3; - DevelopmentTeam = 336G7QK5SR; + DevelopmentTeam = YBEYW6E35C; SystemCapabilities = { com.apple.BackgroundModes = { enabled = 1; @@ -480,13 +481,28 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - FECD0F2A1CDB8B1B00420DF5 /* ShellScript */ = { + FE0473391D86CEE700E6D6CE /* Trim Framework Executables */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( ); + name = "Trim Framework Executables"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "#\"${SRCROOT}/\"trim.sh TigaseSwift"; + }; + FECD0F2A1CDB8B1B00420DF5 /* Mark TODO and FIX ME */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Mark TODO and FIX ME"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; @@ -692,12 +708,20 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + DEAD_CODE_STRIPPING = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_BITCODE = NO; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)", + ); HEADER_SEARCH_PATHS = "$(SDK_DIR)/usr/include"; INFOPLIST_FILE = "Tigase iOS Messenger/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "tigase.Tigase-iOS-Messenger"; + PRODUCT_BUNDLE_IDENTIFIER = org.tigase.messenger.mobile; PRODUCT_NAME = "Tigase-iOS-Messenger"; PROVISIONING_PROFILE = ""; + STRIP_INSTALLED_PRODUCT = NO; SWIFT_INCLUDE_PATHS = "$(SRCROOT)/Modules/"; }; name = Debug; @@ -708,12 +732,19 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + DEAD_CODE_STRIPPING = NO; + ENABLE_BITCODE = NO; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)", + ); HEADER_SEARCH_PATHS = "$(SDK_DIR)/usr/include"; INFOPLIST_FILE = "Tigase iOS Messenger/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "tigase.Tigase-iOS-Messenger"; + PRODUCT_BUNDLE_IDENTIFIER = org.tigase.messenger.mobile; PRODUCT_NAME = "Tigase-iOS-Messenger"; PROVISIONING_PROFILE = ""; + STRIP_INSTALLED_PRODUCT = NO; SWIFT_INCLUDE_PATHS = "$(SRCROOT)/Modules/"; }; name = Release; diff --git a/trim.sh b/trim.sh new file mode 100755 index 0000000..e77b441 --- /dev/null +++ b/trim.sh @@ -0,0 +1,16 @@ +FRAMEWORK=$1 +echo "Trimming $FRAMEWORK..." +FRAMEWORK_EXECUTABLE_PATH="${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}/$FRAMEWORK.framework/$FRAMEWORK" +EXTRACTED_ARCHS=() +for ARCH in $ARCHS +do + echo "Extracting $ARCH..." + lipo -extract "$ARCH" "$FRAMEWORK_EXECUTABLE_PATH" -o "$FRAMEWORK_EXECUTABLE_PATH-$ARCH" + EXTRACTED_ARCHS+=("$FRAMEWORK_EXECUTABLE_PATH-$ARCH") +done +echo "Merging binaries..." +lipo -o "$FRAMEWORK_EXECUTABLE_PATH-merged" -create "${EXTRACTED_ARCHS[@]}" +rm "${EXTRACTED_ARCHS[@]}" +rm "$FRAMEWORK_EXECUTABLE_PATH" +mv "$FRAMEWORK_EXECUTABLE_PATH-merged" "$FRAMEWORK_EXECUTABLE_PATH" +echo "Done." \ No newline at end of file