Posts

Post marked as solved
4 Replies
558 Views
Hi Gang, What's the best way for a remote team to work on an xcode project? I've been working on a project myself, and would like to hire a remote developer to come in and help me add some features to my app. I was planing on compressing my entire project folder and sending it via dropbox, then have them work on it and send it back. But that just seems so inefficient, not to mention, involves me giving up my code. Isn't there a better way? For example, I know that Unity lets you set up for teams to work on projects. Thx!
Posted Last updated
.
Post not yet marked as solved
4 Replies
495 Views
I need a tutorial that will teach me how to read data from my XML file (The same file I use to update my Podcast that is currenlty on iTunes). I update it for iTunes, by editing my XML file. That file lives on a server ( a dedicated server I have full access to). iTunes just pulls from it. I'd like my App to pull data from it as well. So, in my app that I'm making, I currently have to add each episode manually, and link to that file on a server. What Id like to do, is have my app, work, kind of like a podcast player that displays them, perhaps in a table view, and allows the user to see any new additions automatically.Any suggestions, links, or search term ideas to help me find a turorial ( or multiple tutorials) are greatly apprecaiated.Thanks!Ethan-
Posted Last updated
.
Post not yet marked as solved
4 Replies
1.9k Views
on Line 117, I'm getting the error "Value of type 'Int' has no member 'remove'Any ideas?My code was working great as a simple record and play back app, and when I'm trying to add the ability to delete rows, I'm getting an error on line 117. Ideas anyone? import UIKit import AVFoundation class FirstViewController: UIViewController, AVAudioRecorderDelegate, UITableViewDelegate, UITableViewDataSource { var recordingSession:AVAudioSession! var audioRecorder:AVAudioRecorder! var audioPlayer:AVAudioPlayer! var numberOfRecords:Int = 0 @IBOutlet weak var buttonLable: UIButton! @IBAction func record(_ sender: Any) { / if audioRecorder == nil { numberOfRecords += 1 let filename = getDirectory().appendingPathComponent("\(numberOfRecords).m4a") let settings = [AVFormatIDKey: Int(kAudioFormatMPEG4AAC), AVSampleRateKey: 12000, AVNumberOfChannelsKey: 1, AVEncoderAudioQualityKey: AVAudioQuality.high.rawValue] / do { audioRecorder = try AVAudioRecorder(url: filename, settings: settings) audioRecorder.delegate = self audioRecorder.record() buttonLable.setTitle("Stop Recording", for: .normal) } catch { displayAlert(title: "oops!", message: "recording failed loser") } } else { / audioRecorder.stop() audioRecorder = nil UserDefaults.standard.set(numberOfRecords, forKey: "myNumber") myTableView.reloadData() buttonLable.setTitle("Start Recording", for: .normal) } } @IBOutlet weak var myTableView: UITableView! override func viewDidLoad() { super.viewDidLoad() / / recordingSession = AVAudioSession.sharedInstance() if let number:Int = UserDefaults.standard.object(forKey: "myNumber") as? Int { numberOfRecords = number } AVAudioSession.sharedInstance().requestRecordPermission { (hasPermission) in if hasPermission{ print ("ACCEPTED") } } } @IBAction func bookAmazon(_ sender: UIButton) { if let url = URL(string: "http:/ UIApplication.shared.open(url, options: [:]) } } / func getDirectory() -> URL { let paths = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask) let documentDirectory = paths[0] return documentDirectory } / func displayAlert(title:String, message:String) { let alert = UIAlertController(title: title, message: message, preferredStyle: .alert) alert.addAction(UIAlertAction(title: "dismiss", style: .default, handler: nil)) present(alert,animated: true, completion: nil) } / func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return numberOfRecords } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) cell.textLabel?.text = String(indexPath.row + 1) return cell } func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { let path = getDirectory().appendingPathComponent("\(indexPath.row + 1).m4a") do { audioPlayer = try AVAudioPlayer(contentsOf: path) audioPlayer.play() } catch { / func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) { if editingStyle == UITableViewCellEditingStyle.delete { numberOfRecords.remove(at: indexPath.row) tableView.reloadData() } } }
Posted Last updated
.