Просмотр исходного кода

update mechanism of app group name

alqindiirsyam 5 месяцев назад
Родитель
Сommit
6bbd60fbb9

+ 8 - 7
AppBuilder/AppBuilderShare/ShareViewController.swift

@@ -31,6 +31,7 @@ class ShareViewController: UIViewController, UITableViewDelegate, UITableViewDat
     var selectedFile: URL!
     private var previewView: VideoPreviewView?
     let previewController = QLPreviewController()
+    let nameGroupShare = "group.nexilis.share"
 
     override func viewDidLoad() {
         super.viewDidLoad()
@@ -78,7 +79,7 @@ class ShareViewController: UIViewController, UITableViewDelegate, UITableViewDat
     }
 
     func loadCustomContacts() {
-        if let userDefaults = UserDefaults(suiteName: "group.nexilis.share"),
+        if let userDefaults = UserDefaults(suiteName: nameGroupShare),
            let value = userDefaults.string(forKey: "shareContacts") {
             if let jsonData = value.data(using: .utf8) {
                 do {
@@ -90,7 +91,7 @@ class ShareViewController: UIViewController, UITableViewDelegate, UITableViewDat
                             let type = json["type"] as? Int ?? 0
                             var profileImage = type == 0 ? UIImage(systemName: "person.fill") : UIImage(systemName: "bubble.right.fill")
                             if !imageId.isEmpty {
-                                if let appGroupURL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "group.nexilis.share") {
+                                if let appGroupURL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: nameGroupShare) {
                                     let sharedFileURL = appGroupURL.appendingPathComponent(imageId)
                                     if FileManager.default.fileExists(atPath: sharedFileURL.path) {
                                         profileImage = UIImage(contentsOfFile: sharedFileURL.path)
@@ -139,7 +140,7 @@ class ShareViewController: UIViewController, UITableViewDelegate, UITableViewDat
     }
     
     @objc func sendAction() {
-        if let userDefaults = UserDefaults(suiteName: "group.nexilis.share") {
+        if let userDefaults = UserDefaults(suiteName: nameGroupShare) {
             do {
                 var dataShared: [String: Any] = [:]
                 dataShared["typeShare"] = typeShareNum
@@ -149,7 +150,7 @@ class ShareViewController: UIViewController, UITableViewDelegate, UITableViewDat
                 if typeShareNum == TypeShare.image {
                     let compressedImageName = "Nexilis_image_\(Int(Date().timeIntervalSince1970 * 1000))_\(selectedImage.lastPathComponent)"
                     let thumbName = "THUMB_Nexilis_image_\(Int(Date().timeIntervalSince1970 * 1000))_\(selectedImage.lastPathComponent)"
-                    if let appGroupURL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "group.nexilis.share") {
+                    if let appGroupURL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: nameGroupShare) {
                         let sharedImageURL = appGroupURL.appendingPathComponent(compressedImageName)
                         let sharedThumbURL = appGroupURL.appendingPathComponent(thumbName)
                         try? UIImage(contentsOfFile: selectedImage.path)?.jpegData(compressionQuality: 0.25)?.write(to: sharedThumbURL)
@@ -210,7 +211,7 @@ class ShareViewController: UIViewController, UITableViewDelegate, UITableViewDat
                     }
                 } else if typeShareNum == TypeShare.file {
                     let fileName = selectedFile.lastPathComponent
-                    if let appGroupURL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "group.nexilis.share") {
+                    if let appGroupURL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: nameGroupShare) {
                         let sharedFileURL = appGroupURL.appendingPathComponent(fileName)
                         try? Data(contentsOf: selectedFile).write(to: sharedFileURL)
                     }
@@ -256,7 +257,7 @@ class ShareViewController: UIViewController, UITableViewDelegate, UITableViewDat
             let originalVideoName = self.selectedVideo.lastPathComponent
             let renamedVideoName = "Nexilis_video_\(Int(Date().timeIntervalSince1970 * 1000))_\(originalVideoName)"
             let thumbName = "THUMB_Nexilis_video_\(Int(Date().timeIntervalSince1970 * 1000))_\(originalVideoName)"
-            if let appGroupURL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "group.nexilis.share") {
+            if let appGroupURL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: nameGroupShare) {
                 let sharedVideoURL = appGroupURL.appendingPathComponent(renamedVideoName)
                 let sharedThumbURL = appGroupURL.appendingPathComponent(thumbName)
                 try? data.write(to: sharedVideoURL)
@@ -270,7 +271,7 @@ class ShareViewController: UIViewController, UITableViewDelegate, UITableViewDat
                 dataShared["video"] = renamedVideoName
                 let jsonData = try JSONSerialization.data(withJSONObject: dataShared, options: .prettyPrinted)
                 if let jsonString = String(data: jsonData, encoding: .utf8) {
-                    let userDefaults = UserDefaults(suiteName: "group.nexilis.share")
+                    let userDefaults = UserDefaults(suiteName: nameGroupShare)
                     userDefaults!.set(jsonString, forKey: "sharedItem")
                     userDefaults!.synchronize()
                     let notificationName = "realtimeShareExtensionNexilis" as CFString

+ 17 - 8
NexilisLite/NexilisLite/Source/APIS.swift

@@ -1263,7 +1263,7 @@ public class APIS: NSObject {
     
     public static func checkDataForShareExtension() {
         DispatchQueue.global().async {
-            if let userDefaults = UserDefaults(suiteName: "group.nexilis.share") {
+            if let userDefaults = UserDefaults(suiteName: nameGroupShared) {
                 if let value = userDefaults.string(forKey: "sharedItem") {
                     if !value.isEmpty {
                         if let jsonData = value.data(using: .utf8) {
@@ -1298,7 +1298,7 @@ public class APIS: NSObject {
                                         })
                                     }
                                     if typeShare == typeImage {
-                                        if let appGroupURL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "group.nexilis.share") {
+                                        if let appGroupURL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: nameGroupShared) {
                                             let sharedImageURL = appGroupURL.appendingPathComponent(imageId)
                                             let sharedThumbURL = appGroupURL.appendingPathComponent(thumb)
                                             let documentDir = try FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true)
@@ -1317,7 +1317,7 @@ public class APIS: NSObject {
                                         }
                                         attachmentFlag = "1"
                                     } else if typeShare == typeVideo {
-                                        if let appGroupURL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "group.nexilis.share") {
+                                        if let appGroupURL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: nameGroupShared) {
                                             let sharedVideoURL = appGroupURL.appendingPathComponent(videoId)
                                             let sharedThumbURL = appGroupURL.appendingPathComponent(thumb)
                                             let documentDir = try FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true)
@@ -1336,7 +1336,7 @@ public class APIS: NSObject {
                                         }
                                         attachmentFlag = "2"
                                     } else if typeShare == typeFile {
-                                        if let appGroupURL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "group.nexilis.share") {
+                                        if let appGroupURL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: nameGroupShared) {
                                             renamedFileId = "Nexilis_\(Date().currentTimeMillis())_" + fileId
                                             let sharedFileURL = appGroupURL.appendingPathComponent(fileId)
                                             let documentDir = try FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true)
@@ -1370,7 +1370,7 @@ public class APIS: NSObject {
     
     public static func setDataForShareExtension() {
         DispatchQueue.global().async {
-            if let userDefaults = UserDefaults(suiteName: "group.nexilis.share") {
+            if let userDefaults = UserDefaults(suiteName: nameGroupShared) {
                 Database.shared.database?.inTransaction({ (fmdb, rollback) in
                     var dataShared: [[String: Any]] = []
                     if let cursor = Database.shared.getRecords(fmdb: fmdb, query: "SELECT f_pin id, image_id image, first_name || ' ' || ifnull(last_name, '') name FROM BUDDY WHERE f_pin != '\(User.getMyPin() ?? "")' AND f_pin != '-997' AND official_account != '1'") {
@@ -1386,7 +1386,7 @@ public class APIS: NSObject {
                                                    let documentDir = try FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true)
                                                    let file = documentDir.appendingPathComponent(imageString)
                                                    if FileManager().fileExists(atPath: file.path) {
-                                                       if let appGroupURL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "group.nexilis.share") {
+                                                       if let appGroupURL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: nameGroupShared) {
                                                            let sharedFileURL = appGroupURL.appendingPathComponent(imageString)
                                                            if !FileManager.default.fileExists(atPath: sharedFileURL.path) {
                                                                try? FileManager.default.copyItem(at: file, to: sharedFileURL)
@@ -1423,7 +1423,7 @@ public class APIS: NSObject {
                                                     let documentDir = try FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true)
                                                     let file = documentDir.appendingPathComponent(imageString)
                                                     if FileManager().fileExists(atPath: file.path) {
-                                                        if let appGroupURL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "group.nexilis.share") {
+                                                        if let appGroupURL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: nameGroupShared) {
                                                             let sharedFileURL = appGroupURL.appendingPathComponent(imageString)
                                                             if !FileManager.default.fileExists(atPath: sharedFileURL.path) {
                                                                 try? FileManager.default.copyItem(at: file, to: sharedFileURL)
@@ -1460,7 +1460,7 @@ public class APIS: NSObject {
                                                             let documentDir = try FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true)
                                                             let file = documentDir.appendingPathComponent(imageString)
                                                             if FileManager().fileExists(atPath: file.path) {
-                                                                if let appGroupURL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "group.nexilis.share") {
+                                                                if let appGroupURL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: nameGroupShared) {
                                                                     let sharedFileURL = appGroupURL.appendingPathComponent(imageString)
                                                                     if !FileManager.default.fileExists(atPath: sharedFileURL.path) {
                                                                         try? FileManager.default.copyItem(at: file, to: sharedFileURL)
@@ -1511,6 +1511,10 @@ public class APIS: NSObject {
 //        Utils.bPreventScreenCapture = isActive
     }
     
+    public static func setNameGroupShare(_ name: String) {
+        nameGroupShared = name
+    }
+    
     public static func openImageNexilis(image: UIImage, data: Data? = nil, isGIF: Bool = false) {
         let previewImageVC = PreviewAttachmentImageVideo(nibName: "PreviewAttachmentImageVideo", bundle: Bundle.resourceBundle(for: Nexilis.self))
         previewImageVC.image = image
@@ -1542,6 +1546,11 @@ public class APIS: NSObject {
     public static func getAppNm() -> String {
         return appNm
     }
+    
+    private static var nameGroupShared = "group.nexilis.share";
+    public static func getnameGroupShared() -> String {
+        return nameGroupShared
+    }
 }
 
 extension UINavigationController {