Я работаю над приложением iOS, которое общается с другим устройством, синхронизируя данные через Dropbox.Dropbox SDK для iOS работает на симуляторе, а не на самом устройстве
Он работает отлично, когда я запускаю программное обеспечение на симуляторе iPhone на своем Mac (он синхронизирует, загружает, загружает без проблем), но когда я загружаю его на свое фактическое устройство, я получаю ошибки при загрузке/сохранении.
Приложение на симуляторе и iPhone было успешно связано с моей учетной записью Dropbox.
Я довольно невежественен в отношении того, что может быть причиной, потому что для меня это не имеет большого значения, почему это происходит.
Некоторые ошибки при попытке сделать запросы нагрузки:
2015-05-18 23:27:19.385 Home Alone[2218:923269] [ERROR] DBRequest#connectionDidFinishLoading: error moving temp file to desired location: The operation couldn’t be completed. (Cocoa error 516.)
2015-05-18 23:27:19.387 Home Alone[2218:923269] [WARNING] DropboxSDK: error making request to /1/files/dropbox/Projekt 2 (1)/Program/Units.txt - (516) Error Domain=NSCocoaErrorDomain Code=516 "The operation couldn’t be completed. (Cocoa error 516.)" UserInfo=0x174077700 {path=/Projekt 2 (1)/Program/Units.txt, destinationPath=/private/var/mobile/Containers/Bundle/Application/BCF55F91-BAD1-4E01-B8A9-3C925749121B/Home Alone.app/Units.txt}
образцы кода, связанного Dropbox в моем приложении:
В AppDelegate.swift:
func ... didFinishLaunchingWithOptions ... {
let session = DBSession(appKey: "myAppKey", appSecret: "myAppSecret", root: kDBRootDropbox)
DBSession.setSharedSession(session)
}
func ... openURL ... {
if DBSession.sharedSession().handleOpenURL(url) {
if DBSession.sharedSession().isLinked() {
// Linking was successfull.
}
return true
}
return false
}
В ViewControllerCausingErrors.swift :
class ViewControllerCausingErrors: DBRestClientDelegate
var dbClient = DBRestClient()
func ... viewDidLoad ... {
self.dbClient = DBRestClient(session: DBSession.sharedSession())
self.dbClient.delegate = self
}
func ... viewDidAppear ... {
if !DBSession.sharedSession().isLinked() {
DBSession.sharedSession().linkFromController(self)
}
}
/* chunk of code i use to download a file, elsewhere in the VC */
if let localPath = NSBundle.mainBundle().pathForResource("Units", ofType: "txt") {
// Download file from Dropbox to local path.
let dropboxPath = Constants.Dropbox.Download.UnitFilePath
self.dbClient.loadFile(dropboxPath, intoPath: localPath)
}
Любая помощь с благодарностью.
[Сшивка для справки: https://www.dropboxforum.com/ hc/community/public/questions/203816815-Dropbox-SDK-for-iOS-works-on-simulator-not-on-actual-device] – Greg
Вы нашли решение? Не могли бы вы предоставить код? – Fengson
@Fengson Да, я сделал. Если вы хотите узнать, что вызвало проблему и как я ее решил, ознакомьтесь со своим сообщением на форумах Dropbox: [Ссылка] (https://www.dropboxforum.com/hc/communities/public/questions/203816815-Dropbox- SDK-for-iOS-works-on-simulator-not-on-actual-device) – Priebe109