Posts

Post not yet marked as solved
2 Replies
3.8k Views
I'm relatively new to this, so please bear with me....I'm trying to setup a project integrating BlueCapKit framework, and want to enable bluetooth under Capabilities > Background Modes. But under my capabilities tab, Background Mode doesn't appear. It seems likely a configuration problem, I've searched but so far to no avail. Can anyone kindly point me in the right direction? I'm using the latest Xcode and working towards an iOS target. Thanks greatly!~ Nancy
Posted Last updated
.
Post not yet marked as solved
0 Replies
944 Views
I'm trying to upload a binary file from iOS to a server on local Wifi. The uploader on the server works fine from its web page, but I can't get it to upload from Swift. It looks to me like my request is not properly formed, but I haven't been able to figure out what it's missing. Thanks for any help. ~ Nancy Here's my upload routine:    func uploadFile() {     let config = URLSessionConfiguration.default         let session = URLSession(configuration: config)     let updateURL = URL(string: ("http://" + currentBaseString + "/update"))     var request = URLRequest(url: updateURL!)     print("SETUP Upload Request: ", request)     request.httpMethod = "POST"     guard let fileURL = Bundle.main.url(forResource: "R2-0701", withExtension: "bin") else {       print("Failed to create URL for file.")       return     }     do {       let data = try Data(contentsOf: fileURL)       print("SETUP Found the data file\n")       request.httpBody = data       let task = URLSession.shared.uploadTask(with: request as URLRequest, fromFile: fileURL) { data, response, error in         if error != nil {           print ("RRC Task error: \(String(describing: error))")           return         }         guard let response = response as? HTTPURLResponse, (200...299).contains(response.statusCode) else {           print ("Server error")           return         }         if let mimeType = response.mimeType,           mimeType == "multipart/form-data",           let updateData = data,           let dataString = String(data: updateData, encoding: .utf8) {           print ("got data: \(dataString)")         }       }       task.resume()     }     catch {       print("Error opening file: \(error)")     }   } My URL construction is fine, it works for GET requests. "R2-0701.bin" is the filename of a file added to the project. Here's the server HTML: <script src='https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js'> </script> <form method='POST' action='#' enctype='multipart/form-data' id='upload_form'> <table cellpadding = '10' align='center''> <tr> <td bgcolor='AA0000' align='center' style='color:white;'> <p font-color='white' text-size='12' > <b>Reprogram</b> </p> </td> </tr> <tr> <td> <input type='file' name='update'> </td> </tr> <tr> <td align='center'> <input type='submit' value='Update'> </form> </td> </tr> <tr> <td align='center'> <div id='prg'>progress: 0%</div> </td> </tr> </table> <script> $('form').submit(function(e){ e.preventDefault(); var form = $('#upload_form')[0]; var data = new FormData(form); $.ajax({ url: '/update', type: 'POST', data: data, contentType: false, processData:false, xhr: function() { var xhr = new window.XMLHttpRequest(); xhr.upload.addEventListener('progress', function(evt) { if (evt.lengthComputable) { var per = evt.loaded / evt.total; $('#prg').html('progress: ' + Math.round(per*100) + '%'); } }, false); return xhr; }, success:function(d, s) { console.log('success!') }, error: function (a, b, c) { } }); }); </script>; Here's the output: SETUP Upload Request: http://192.168.86.41/update SETUP Found the data file 2022-07-04 17:21:52.075958-0600 RoadrunnerComfort[5034:11127394] Task <25F2EC07-30D7-4532-BD6A-D35A41716AF2>.<7> HTTP load failed, 1048855/0 bytes (error code: -1005 [4:-4]) 2022-07-04 17:21:52.082677-0600 RoadrunnerComfort[5034:11127423] Task <25F2EC07-30D7-4532-BD6A-D35A41716AF2>.<7> finished with error [-1005] Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost." UserInfo={_kCFStreamErrorCodeKey=-4, NSUnderlyingError=0x283fb49c0 {Error Domain=kCFErrorDomainCFNetwork Code=-1005 "(null)" UserInfo={NSErrorPeerAddressKey=<CFData 0x2812ecc80 [0x22eb841b8]>{length = 16, capacity = 16, bytes = 0x10020050c0a856290000000000000000}, _kCFStreamErrorCodeKey=-4, _kCFStreamErrorDomainKey=4}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalUploadTask <25F2EC07-30D7-4532-BD6A-D35A41716AF2>.<7>, _NSURLErrorRelatedURLSessionTaskErrorKey=(   "LocalUploadTask <25F2EC07-30D7-4532-BD6A-D35A41716AF2>.<7>" ), NSLocalizedDescription=The network connection was lost., NSErrorFailingURLStringKey=http://192.168.86.41/update, NSErrorFailingURLKey=http://192.168.86.41/update, _kCFStreamErrorDomainKey=4} 2022-07-04 17:21:52.083212-0600 RoadrunnerComfort[5034:11127396] [tcp] tcp_input [C7:2] flags=[R.] seq=3409008496, ack=2962928595, win=5744 state=LAST_ACK rcv_nxt=3409008496, snd_una=2962927159 RRC Task error: Optional(Error Domain=NSURLErrorDomain Code=-1005 "The network connection was lost." UserInfo={_kCFStreamErrorCodeKey=-4, NSUnderlyingError=0x283fb49c0 {Error Domain=kCFErrorDomainCFNetwork Code=-1005 "(null)" UserInfo={NSErrorPeerAddressKey=<CFData 0x2812ecc80 [0x22eb841b8]>{length = 16, capacity = 16, bytes = 0x10020050c0a856290000000000000000}, _kCFStreamErrorCodeKey=-4, _kCFStreamErrorDomainKey=4}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalUploadTask <25F2EC07-30D7-4532-BD6A-D35A41716AF2>.<7>, _NSURLErrorRelatedURLSessionTaskErrorKey=(   "LocalUploadTask <25F2EC07-30D7-4532-BD6A-D35A41716AF2>.<7>" ), NSLocalizedDescription=The network connection was lost., NSErrorFailingURLStringKey=http://192.168.86.41/update, NSErrorFailingURLKey=http://192.168.86.41/update, _kCFStreamErrorDomainKey=4})`
Posted Last updated
.
Post marked as solved
2 Replies
604 Views
Apologies, I am a beginner in this. I’m trying to archive my iOS app but keep getting this error: Command PhaseScriptExecution failed with a nonzero exit code It lists an error based on unmatched parentheses in a generated file,  <project>.build/Script-CEC03A37266E7CBC00D5745A.sh: line 4: unexpected EOF while looking for matching `"' That file contains the following: #!/bin/sh buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion "$PRODUCT_SETTINGS_PATH") buildNumber=$(($buildNumber + 1)) /usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$PRODUCT_SETTINGS_PATH" As you can see, the 2nd line has an odd parens(“). I’ve tried making the 2nd line  buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$PRODUCT_SETTINGS_PATH") …which didn't work, the file gets overwritten.  Running MacOS 11.5, Xcode 12.5.1 Thank you for any help.
Posted Last updated
.