Ho un compito di condividere i dati tra le app nello stesso dispositivo. Possono essere entrambe le app possono utilizzare un database condiviso sullo stesso dispositivo. Come condividere i dati tra due app in IOS. Qualcuno l'ha fatto in qualche modo. Per favore fatemi sapere. GrazieCondivisione di dati tra le app in IOS
11
A
risposta
23
È possibile attivare il gruppo di app nella scheda delle funzionalità di App Project su entrambe le app con lo stesso ID contenitore di gruppo. "group.com.yourCompanyID.sharedDefaults"
Poi è possibile accedere alla stessa cartella da tue app utilizzando il seguente URL:
let sharedContainerURL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "group.com.yourCompanyID.sharedDefaults")!
Quindi, se si desidera condividere uno stato di interruttore da due applicazioni diverse si dovrebbe fare come segue:
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var sharedSwitch: UISwitch!
let switchURL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "group.com.yourCompanyID.sharedDefaults")!
.appendingPathComponent("switchState.plist")
override func viewDidLoad() {
super.viewDidLoad()
print(switchURL.path)
NotificationCenter.default.addObserver(self, selector: #selector(updateSwitch), name: .UIApplicationDidBecomeActive, object: nil)
}
func updateSwitch(_ notofication: Notification) {
sharedSwitch.isOn = NSKeyedUnarchiver.unarchiveObject(withFile: switchURL.path) as? Bool ?? false
}
@IBAction func switched(_ switch: UISwitch) {
let success = NSKeyedArchiver.archiveRootObject(switch.isOn, toFile: switchURL.path)
print(success)
}
}
Partenza [questo link] (http://www.enharmonichq.com/sharing-data-locally-between-ios-apps/). È basato su Objective-C ma lo stesso concetto si applica ancora. –
@ Phoen1xUK Penso che l'articolo sia obsoleto, dal momento che iOS 8, i gruppi di app sono il modo ufficiale per farlo. – neuhaus
Sto parlando di gruppi di app. hai implementato questo? – Abhishek