You need to change the way you structure your data. You are making 458 separate requests when you should just be making 1 if you structured your data properly. Look into: https://firebase.google.com/docs/database/ios/structure-data
My best advice is to avoid "It's easy to write an app" tutorials. They put you in way over your head and when there's something wrong with the tutorial (or you mistype something) you flounder.
Instead focus on "the basics" of programming. For loops. If statements. Basic control flow. Variable assignment.
Next focus on understanding Object Oriented Programming. It'll take a while to wrap your head around it, but it's the foundation of everything Apple provides you to write apps.
For these two steps I used this book but you might want to find something based on Swift, since that's the new hip thing.
Then you start learning Apple's frameworks. Do a bunch of tutorials. Write your own app. When you realize it sucks and you'd be embarrassed to share it with anyone dump it and start over. Write lots of apps that do stupid little things. Make them bigger. After a few times you may have something cool, but more importantly you'll have learned a bunch of stuff you can't learn by doing tutorials.
Try to remember when it's late at night and you're crying with your head down on the desk because you can't get it to work that programming is fun. (That's sarcasm, but you need to know that even expert programmers went through it too. If you keep plugging you'll get better.)
One way I've seen this done is to use the Charles which sets up a proxy on your Mac to intercept and log requests. You can then change your Wifi settings on your iPhone to use the proxy as described here.
Hello everyone. It´s been a while since I posted here because I´ve been working on the Android version of this app. Now that I´m back I´ve been trying to improve the user experience by adding these skeleton loaders. It´s a WIP but I definately think it became a lot better. What do you guys think?
I will release this update next week but if you want to check out the app already, please do and leave some feedback :)
iOS: https://apps.apple.com/se/app/coincurrently/id1543974454#?platform=iphone
Android: https://play.google.com/store/apps/details?id=com.cryptium.coincurrently
I like Smalltalk and highly dynamic languages.
Objective C is a really brilliant pragmatic compromise keeping a lot of the best part of Smalltalk (messaging syntax, dynamic typing, object model) with the efficiency of C.
Swift has a lot of the nannying culture of Java in it along with the ugly syntax of Ruby and adds a whole new level of complication when integrating with C++ code.
It doesn't solve any problems I have - but its optionals vs constants mess introduces a lot I don't have. It just lacks elegance and seems to be a crescendo of special cases rather than an elegant concept taken to its maximum utility.
I would have hoped we would get something closer to Objective Smalltalk as a next generation language. See http://objective.st for what I mean
It's possible. In the end, freelancing is about how much value you deliver, and how good you are at showing that value to clients so they hire you. It has more to do with your sales skills than your coding skills
By that I do not mean that your coding skills are irrelevant. You do need the to have top notch coding skills to deliver high-quality code and get rehired and referred to other clients. Freelancing is a relationship business, so you need to keep a pristine reputation.
But that is just the baseline. Even if you have that, if you can't properly show that to clients, you will get none.
A good place to find remote work is UpWork.com. And here you can learn how to get clients. His advice is targeted to writers, so some things won't apply to you. But the general business advice is valid for any field.
This seems to be a QA problem. Depends on the teams' budget, one can build a wall and make the QAs pay for it. All jokes aside, put that on a board with these wall mounts You can have the wall on which ever angle you would like and any numbers of phones you would like.
> Swift 5.3 release date is set to 20th if April
The official blog states that "On April 20, 2020 the release/5.3 branch will be cut in the swift repository".
This means that:
- a new branch of the Swift language, release/5.3
, will be created off the master
branch.
- from that day on new daily Swift 5.3 snapshots will be available to download here.
- Swift 5.3 will start its finalization process (mainly fixing the last bugs before official release).
We might be able to see a new Xcode dot release with Swift 5.3 before WWDC, but if that is not the case, we will have to wait until Xcode 12 is released before we can ship apps using exclusively SPM.
Check out your city for local meetups where you can meet with other ios developers who can help you. Check out meetup.com
​
Otherwise go on iOS Developers Slack. I'll update this post with a link when I find it.
I've made some simple retro-styled 2D games using SpriteKit.
If you're only targeting iOS, Sprite Kit is great. It's simple to use, and works pretty seamlessly with UIKit. If you've used cocos2d before, it's very similar and obviously heavily inspired by it (some would even say copied).
If you want to do anything cross-platform, Unity will be a better bet but if you're already familiar with iOS/Swift/Obj-C, you'll be up and running with Sprite Kit in no time. I often use it to pump out quick game proof of concept/ideas in a day or less.
If you have any specific questions, let me know - or come check out /r/spritekit ! (it's quiet, but we do respond ^most ^of ^the ^time )
Read Clean Code by Robert Martin:
http://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882
It's written with Java examples but it's perfectly applicable to any OO programming language. It teaches you how to create maintainable, testable and clean code where every class has exactly one function and every method does exactly one thing. Code that is decoupled will be easier to refactor once you see a bigger pattern emerge in your code, so in the end it will look like a big intelligent design simply because you made sure you never wrote the same shit twice and nothing is intertwined.
You can also study design patterns but you'll probably find yourself trying to apply design patterns everywhere for really no good reason at all for a while :) Still I think in the end it's good to know them.
Be super careful seeking a developer through reddit. I recently had a developer claim to be working on my app for almost 2 months with a semi functioning test flight and all. Then all of a sudden he just disappeared. Refunded our first payment and blocked us on skype without ever handing over the code. For all of you out there his name is Taylor Beck. He recently completed a large kick starter
https://www.kickstarter.com/projects/taylorbeck/learn-iphone-app-development
So if you paid into this project which is ironically an iOS tutorial site i would be extremely wary. He either has no idea how to program in iOS and therefore ran when he was in over his head or is just a straight up scam artist. Either way he is definitely not to be trusted and we are unfortunately having to get lawyers involved.
If you’re looking for something official looking more so than a github page, I bought a cheap domain from Google for $10/yr and then used Carrd (https://carrd.co) to make a simple one-page responsive site. It’s only $17/yr and looks really nice.
check out SQLite. It's not on github and it's not iOS or objective C, but for a project of it's complexity, SQLite is clean and nice.
the best way to step up your game is to refactor your existing code. If you have some iOS projects that you are working on, write some unit tests and start refactoring your code base. start with the part of the project that was the biggest pain in your ass. chances are that was the pain of a weak design. your refactoring efforts will be the most productive there.
you can start small. make changes that make the code more readable and "self documenting". next decouple classes and responsibilities. start incorporating design patterns. make lots of small changes, checked by unit tests every step of the way. Don't move on to a new refactoring until you are confident that your changes had a net zero effect.
My app Auto Miles (shameless plug: https://itunes.apple.com/us/app/auto-miles-automatic-mileage/id817598888?mt=8) uses a card based interface, and the easiest way I found to do it was loading up custom UITableViewCells from NIB files, with some padding around a UIView inside the cell to make the "card." This is a decent overview of how to get started with custom cells from NIBs: https://medium.com/p/9bee5824e722
I'd guess you could probably also use prototype cells in a storyboard to do the same thing, though you might be a skosh limited, especially if you want to do any card flipping, etc.
That having been said, if I had to do it over I might rethink using cards in favor of a different design pattern. At the time I was jazzed up about card UIs from a bunch of design articles I'd read about how awesome they are, but the extra code, plus getting them performant on older devices, was kind of a pain in the ass, and I'm not confident that there was any great usability gain for the extra effort.
Xcode, Apple’s actual IDE or Integrated Developer Environment, is completely free if you have a Mac. It also has free playgrounds to get you started making different kinds of apps. And to add ads all you have to do is use an ad companies API or Application Programming Interface.
I believe there are guides out there for how to emulate macOS if you don’t have a Mac, but the legality of emulating macOS on non-Mac hardware is questionable depending on where you live.
Good luck!
This checklist that I'm working through is pretty helpful: https://trello.com/b/ArveOu0q/a-path-to-mastery-for-ios-development. I think I found it on this subreddit sometime last year or the year before. Some of it might be outdated as I haven't been keeping it up to date with new findings.
The term graphics is very vague based on your question — “artwork” doesn’t help either. Photos? Icons? Animations?
Free high definition photo images without having to mention the website or photographer: https://unsplash.com
Free high quality icons as long as you mention the website in your app, website, or app store page: https://icons8.com
The fact is, there is a demand for a fully-featured BaaS; Parse just wasn't able to monetize it effectively. Someone else will offer it, and a lot of us will use it.
I can't imagine there will be much difference. The next os will inevitably have apps for it built in xcode which is what you use to develop.
If anything there will just be new features and additions to what you can tell the phone to do, but since you probably won't use these you won't even notice.
While there might be some changes (I stopped developing for around a year and had to get used to a couple of new things myself) the "methods" probably won't stop changing for the foreseeable future.
Keep in mind that unless you are specifically building for a feature in iOS 8 then there is no reason it won't be backwards compatible with iOS 7 etc. Also, iOS might not be the market majority for another few months, which gives you a chance to start learning and developing!
iOS apps are sandboxed so I strongly doubt Avira is able to wipe your app’s data.
You mentioned you are using a mobile framework (Cordova), check the documentation for data storage to see if you’re doing something wrong.
Try skimming Clean Code to see if there are techniques you can directly apply. If it helped you, then give it a read later when you find the time. Other books that helped me were refactoring, and working with legacy code.
Answering your question directly: SICP is a really hard book to read, but if you're able to get through you will have learned a lot. The same is true of Introduction to Algorithms, which is another core CS book. If you're able to work through the books with someone else, you'll find it useful.
Answering a question you didn't ask: there are other good ways to learn programming rather than just wade through the official Swift docs. My own free Swift tutorials might help, but there are many others too.
I like to use Trello to list out all the things I plan on implementing (or bugs I need to fix). Usually I have a list where I just write everything down as I think of it with no structure and then I move the items to a more appropriate list (e.g. Bug Fixes, Feature A, Feature B) eventually moving them to a Done list one they’re complete. You can also add labels to the list items to further organize them.
Yup I've been stuck for over 24 hours.
I think everyone's having this problem, and chances are the malware hack in the app store is causing bigger issues than expected. Also, with the recent iOS9 update, the app store is bottlenecked with app updates.
I can't find any official updates from itunes connect either.
So in the meantime refactor some code, check twitter, and check itunes connect.
There's next to nothing you can do from your side while your app is in the processing phase.
TL;DR - If you really wanted to make pixel perfect graphics you'd create separate graphics entries and not rely on 2x, 3x for this.
Paintcode did a pretty good writeup on this: http://www.paintcodeapp.com/news/iphone-6-screens-demystified
If you created a single image asset with a 2x and 3x versions. The iPhone 6 (and 4S, 5, 5S, 5C) would all try and load the 2x version, even though they aren't the same ratio.
The iPhone 6+ would load the 3x version.
Other thoughts:
Assets catalog aren't specifically aware of the devices you're building for. They also store more than just the 3-level graphics e.g. you've got more that 1x, 2x, 3x if you're creating an app icon entry.
You can actually already leave out 1x versions and make non-retina devices scale down big images. It isn't always great since the devices are already slower, but you said you weren't caring about the people trying to run this on their iPad 2.
I would do this. It has several advantages over making direct requests from the application. For example, you can change life expectancy servers without having to update the application. You can cache information on the server for quicker responses. You can log all calls to see how many people are using the app, how many requests to the life expectancy servers fail, etc.
AWS lambdas should work well for this or get a $5/month virtual account and add a little bit of server-side programming in javascript, PHP, Ruby, etc. You'll need an SSL certificate if you use your own server - friends suggest Let's Encrypt.
Here you go - you'll need to be logged in to see it, and choose "last 30 days": https://appfigures.com/reports/ranking#products=334002684324&category=grossing&country=US&device=iphone
Could you technically do it? Sure.
Should you? Absolutely not. It does not adhere to Apple's HIG. For that matter, neither do hamburger menus.
Most apps have the hamburger menu disappear when you go into a detail view. The back button remains on the left and you have to go 'back' in order to access the hamburger menu.
However, I'd encourage you to rethink your navigation pattern to not use a hamburger button.
I'm not sure what has changed in AVF over the years, but I'd guess it's not much because they've been doing amazing AV apps since the start.
The Apple docs suck (IMO) and sometimes, it's all we have. I had a hellva time trying to find CoreML stuff a few years ago because the only source known, was Apple. The new stuff, wasn't documented. I gave up on that project because there was no documents on the latest updates from Apple.
Most of that time has been ObjC and so you might have to go back to some older examples.
One great source is older, open source stuff. You can even get old RayW examples and use them. They gave away a TON of stuff once it became old, this was back in 2017 or about then.
What ends up happening is that they might not update things unless there's actually a substantial change in what Apple is offering.
One other source is actual books. A quick check is one from 2014, some 6~7 years old: https://www.amazon.com/Learning-Foundation-Hands-Mastering-Framework/dp/0321961803?asin=0321961803&revisionId=&format=4&depth=1
There's actually a review of this that is only 1 year old:
http://marginalfutility.net/2020/01/31/learning-avfoundation/
> and works up to more complex topics – from how to work with rational time to how to control focus and exposure on iPhone cameras, eventually building up to a multitrack editing app by the end of the book.
Thing is that I'm pretty sure everything in that book, still works. What has changed over the years is generally not the base parts of the system, it's generally the outer layers and things added to the Swift language.
So I'm not sure what has been added, but there has been fully amazing AV stuff that has been using the same base since nearly the start of iOS.
The downside of this is that you'd have to learn a bit of ObjC.
This is one of the reasons that some companies want iOS devs that already know ObjC.
For what it's worth, I let my Stack Overflow developer story speak for itself. I don't have a LinkedIn account. It is how I got my current job, and I'm pretty regularly turning down recruiters wanting to hire me.
There is a pretty good developer support group as well if you have issues: https://groups.google.com/forum/#!forum/parse-developers
It all depends on your perspective and where you look. For example, what kinds of apps are you looking at? The large-scale, well-known apps may not solely rely on RoR backends, but for every one of those, there may be a hundred that do. Plus, large apps tend to use multiple stacks for handling their backend service.
It also depends on other situations, like the purpose of the app. Is it meant to complement an existing web app? Or stand alone? RoR seems to be pretty common among startups who want to build web apps with complementary mobile apps and use RoR for their APIs.
Now, I realize I'm a bit bias. I have been a Ruby developer for a while and am now doing iOS work and recently worked for a startup that did exactly this. So, again it's all about your perspective. However, Thoughtbot wrote a book all about this process if you are curious (I don't work for them) >> https://gumroad.com/l/ios-on-rails
If you would like to mimic as it works inside the reddit app I would argue to not go for either a UIScrollView or UICollectionView as neither of them are optimal for what you would like to achieve. Bear with me.
I made this quick wireframe of how this works, you can check it out here - it's a Figma link.
Basically you have your UIView which adds a content
/containerView
(naming doesn't really matter), let's go with contentView, as a subview. The contentView should be 2 * view.width
with an initial x offsetof view.width *
0.5.
As there's no swiping or scrolling on that component in the app you just add a tap gesture recognizer to the view (not contentView). In the selector of the tap gesture recognizer you check if the touchPoint.x < view.width * 0.5
, if that's true you animate the offset x of the contentView to 0, else you animate the contentOffset xto view.w
idth, do these animations with a UIView spring animation of like 0.3 seconds. If you tap again after you have adjusted your offset x to show either side you should just animate back to the initial offset x. While on the topic of animations, pass .beginFromCurrentS
tate as a animation option. That will make it possible to spam the button and have seamless animations without having to lock the ui like they do in the reddit app.
Hope this is to any help!
iMovie would definitely work for this. But to get all the weird screen sizes for all the different devices import your edited video into MPEG Stream Clip. It's free and gets the job done: http://www.squared5.com/svideo/mpeg-streamclip-mac.html Then you can export to any size you want. There may be better free tools out there for this - I just don't know them.
Personally I don't like Firebase or SDKs provided by Google on iOS
For Firebase just taking the analytics part and crash it's added 10 MB in the app
Their SDKs are static frameworks which causes problems when we have some customs frameworks in the application
I do not even talk about the intrusive side of these SDKs that spy APIs and much more
Their services are just a pretext to encourage developers to put their SDKs
In many cases their SDKs could be just replaced by REST APIs
For your crash you can:
- Use NSSetUncaughtExceptionHandler to catch the crash
- Save on the iPhone/iPad the callStackSymbols because your application is crashing your action is limited
- When the user restart the app load the callStackSymbols saved locally and sent to a service like papertrail may be better that an email
Over 95% of iOS devices are running iOS7 or iOS8. Unless you have a really good reason to support iOS6 then I wouldn't bother.
https://mixpanel.com/trends/#report/ios_8/from_date:-29,report_unit:day,to_date:-1
Personally I use Realm (https://realm.io/), it's a much better alternative to Core Data. Many times faster at reading/writing, a hundred times easier to implement and setting up listeners that react to changes in the database such as what you're asking is very simple. They have libraries for Obj-c, Swift, Android, React Native and Xamarin.
If you're dealing with data from a server I'd have one class that deals with the networking and writing to the phone which can be accessed through a singleton (I know a lot of people don't like singletons, this is pretty much the only time I think they're a good idea), rather than pulling data in every viewWillAppear, that way you only have one reference point that you need to keep track of.
Hope that helps!
Check out Kotlin! https://kotlinlang.org/
Its very similar to Swift. There are some differences of course, some of them I think make it a better language and some a worse language, but overall it has the same nice feel as Swift :)
You don't need a full database for this, you could store your points in a JSON file and put it in an S3 bucket. Alternatively you could use https://developer.apple.com/icloud/cloudkit/ or https://firebase.google.com which are both managed backends that are easy to set up.
You can use SQLite without using CoreData. There's plenty of open source classes out there for ease. Here's a swift implementation that says it supports fts: https://github.com/stephencelis/SQLite.swift
If you need a sqlite front-end for dev purposes I use http://sqlitebrowser.org/. but there are others out there.
The Github client isn't specific to Github repos, so you could try that (I don't personally love it though): https://desktop.github.com/
I use Appcode for development and it has really good integrated git support, so you could also try that (it's also just awesome in general): https://www.jetbrains.com/objc/
Learn to code first. Then learn iOS. It can be a long process to get started, especially if you're going into games. Its likely that the language you use to learn programming won't be Objective-C.
CodeAcademy is a great place to start learning.
So is Khan Academy.
Sublime text has an autocomplete plugin for Objective-C. It doesn't include Apple libraries, though.
It should do syntax highlighting as well.
You could use Word, but it's probably going to do weird things with the formatting.
Hey dude, this involves setting the accessoryView of a UITableViewCell to a UISwitch view. I did a quick and dirty clone of the view while trying to use good practice. Let me know if you have any questions about it. You can find it here on GitHub.
Powerful Jordan Peterson quote. Great read. Thanks for sharing this.
Right along the lines of what you've written, I'd recommend Stephen King's book On Writing, and Steven Pressfield's The War on Art. Both are similar takes on what you've gone through and offer great advice.
Link to your app?
Are you doing the exercises?
You won't learn anything reading. You have to hook it to practical application.
The ONE programming book I can say in my career has been an exception to this is the Camel Book, Larry Wall's Programming Perl, which changed my life in many ways. I haven't found an iOS book of that caliber yet.
We've used NSAttributedStrings in the past with good success. There are some other options. See this.
Ok, wow, freaking out a bit:
Apple has widespread service issues today. You can follow along with the following sites.
Service Status: https://www.apple.com/support/systemstatus/
Mac Rumors: http://www.macrumors.com/2015/03/11/app-store-itunes-connect-down-march/
Ok, i've compiled a copy that should work properly on 10.6.8, unfortunately I have been unable to get a VM up and running and therefor unable to get it tested properly. So although I cannot guarantee that it will work you could try:
http://www.sqlitepro.com/bugfix/SQLiteProfessional.1.3.Bugfix1.app.zip
With any luck, you will have no problems. Any with any luck, I will have a VM running soon so that I can do proper testing!
If you're looking for a baseline for a specific job, you should share which market you are looking in – iOS in SF Bay vs iOS in Cincinnati will pull very different numbers, probably(?) even after cost of living adjustment.
Alternately, check out websites like Indeed or Glassdoor which allow you to view or search within salary ranges for different positions at different companies. Since you're looking at a start up you could compare it to other start ups and to other companies in your companies location.
As you are remote, you may get paid based on your actual location and not the companies location since your cost of living could be different. Since you mention moving out there in the relatively near term, though, I would be careful there – might be a way for the company to pay you less than the market rate in their area by bumping your salary up when you move but still keeping it lower than the local market rate.
Yep, absolutely. Apple's Swift page shows that LinkedIn, Day One, Clear, Hipmunk, and others were built using Swift. And I know from personal experience that at least a couple others have Swift in them. :)
The lazy man in me says just store the trivia questions in a text file in a format that's easy to parse, and create a flask app that will return the questions. From there you'd just send a request from your iOS app to the server hosting the flask app to get the trivia data.
Flask is really easy to use. Here's an example of what you'd need to write (in Python, of course):
from flask import Flask from flask import json app = Flask(name)
@app.route("/getTrivia") def get_trivia(): data = open('trivia.json', 'r') response = app.response_class( response=json.dumps(data), status=200, mimetype='application/json' ) return response
If you have a spare computer at home, you could just run it on there.
Have you attempted to run your code? Your didSet
will be called on both the examples you listed, assuming you change your let test
to be a var test
instead. A let
cannot have a didSet
, because it's not ever set (it's only ever initialized, from its owners init
).
Your property is also not computed, it's a stored property. Your Test
is also not a class, it's a struct. The distinction is important.
See this runnable example: https://repl.it/repls/EagerBlissfulWordprocessing
See link about important difference between class (reference type) and struct (value type): https://developer.apple.com/swift/blog/?id=10
Edit: added link to swift blog.
I've worked a LOT on weather apps. The best weather API I've come across is this one: https://darksky.net/dev/
This one is great if you're looking to just display weather data. If you're looking to have an interactive weather map, be prepared to pay out the ass for map tiling. For whatever reason, weather map tiling services have no idea how to be affordable.
Thank you, it looks like Braintree Marketplace is exactly what I have been looking for. It just stinks that there is a 2.9% +$0.30 per transaction
https://www.headspace.com/ - do the free stuff then use /r/meditation and Calm app for 20 mins a day.
Do at least 30 mins exercise a week, 30 mins a day is better.
Get 8 hours of sleep a night
Talk to your colleagues.
It depends on your needs, really.
With the Mac Mini, you will need a monitor. However, you can have a primary screen that is bigger size than any Macbook. They aren't as portable as they are space-saving, but it's totally fine if you are working in a single space.
Mac Minis are also significantly more cost effective.
Are they print designers? Web designers? Are they freelancers (they're used to clients providing specs, or they have their own template), or do they have jobs (their job might have a standard practice)? See what they're comfortable with dealing with already.
Make sure they design their assets in high-resolution for less headaches (they should be vectors, really) - you can't upsize, only downsize, after all. See the Ultimate Guide To iPhone Resolutions
Do they use iOS? Android? iOS is obviously more helpful since they will have more experience with iOS UI design even if they haven't done any mobile design per se.
You can provide pixel (point) constraints, or you can provide ratios (ie. a table view cell is generally 320x44, of course you can make it whatever you'd like).
It's best to start with initial sketches, but I'd recommend "segmenting" each component for them to design, and list the components for them. For example, a table view cell is one, a button is one, a label is one, friendly error/success messages, etc. You're not likely to have 3 different label designs, because it'll make your app inconsistent. Keep in mind that if you plan on making your app localizable, the design should adapt for variable widths.
Alot of designers like a point of reference. Find a few apps and show it to them.
I hear good stories about PaintCode, but something tells me that you still need to have some sense of creativity. How hard is it really to make some of the examples? The fact that it generates the code is pretty awesome, but it's probably harder for me to create something that looks good.
Of course programs such as photoshop are best but for a lower budget there are some decent programs; https://www.aseprite.org/ is a good one.
Edit: oops my bad idk any sprites for 3D, completely forgot most people don't make 2d pixel art like I do lol
Here's a good source: http://www.freesound.org/ and this one is a SFX generator: http://www.superflashbros.net/as3sfxr/
You should try to tweak them though, make them your own, level the volume with the other SFX in your game, etc.
> This is not a public RSS feed.
I agree and disagree. While it is not public, it is part of the Affiliate Resources which can be joined here.
> and is actually one of the rejection guidelines for App Store apps
This I do agree with. Any app using these resources will be rejected from any of the Apple stores.
If your time is less valuable then your money, you can start (and learn a heck of a lot) by building yourself a hackintosh. Note that this works, but is a pain in the ass, but still a great way to start. Check out http://www.tonymacx86.com/home.php for more details.
For all of you who jump on me for suggesting this - I have four quite expensive macs at home - this is a great drug to get people into macs, and then when it gets annoying to maintain, get real hardware as money permits.
> We are looking into a temporary solution right now. One which would cache API results, and if a call is made within 1 second of the last time the call was made and cached, it would just return the cached result. For example, /api/v1/foobar is called at 15:00:00.000. It finishes the call and caches the result at 15:00:00.200.
Set the HTTP freshness headers on the server response correctly and your problem is solved. If your client has an issue that is causing it to make requests 100s of times a second a 1 second TTL in the response will have enormous impact.
If your backend IS sending correct freshness headers (test with REDBot ) your client may be written to explicitly ignore them (this is unlikely, but possible). Look at the cache policies being set on the NSURLRequest
s and NSURLSession
s in your client. The default behavior is what you want, if your app is explicitly changing that behavior find out why and change it.
Paul Hegarty's class on iTunes, while an excellent course, might be a bit advanced if you've had minimal experience with programming. If terms like classes, instances, and objects don't sound familiar to you you should start with a basic Object Oriented programming before jumping into any iOS programming course.
Alternatively try Titanium. http://www.appcelerator.com. It allows you to build native iOS apps using JavaScript syntax, which is a much easier road if you are just starting out in programming.
Ok wow, I remember running into gross situations from working Realm, but I didn’t haaate it.
But! It looks like part of my issues were resolved!
https://realm.io/blog/obj-c-swift-2-2-thread-safe-reference-sort-properties-relationships/
I still vote Firebase though, especially if you don’t have a ton of complexity. Auth + crashlytics + easy integration into the google apis makes it a pretty clean solution!
Good article.
I used Core Data in my first significant app back a few years ago. This was before Apple updated the APIs with things like NSPersistentContainer
. It was pretty rough. I definitely spent vastly more time learning and debugging CoreData than any other part of my app. Looking back through the lens of this article, I was definitely breaking a bunch of these laws which definitely increased my app's complexity.
These days I mostly just use Realm, but I really should give CoreData another look.
We're in a really awkward time in history on this front. We've got easy to use cloud stores, but we need to provide instant offline writes for a decent experience (allowing multiple clients to write causing potential conflicts etc.). The theory is there, CRDTs fit most circumstances enough to be the new default, but the libraries aren't there yet.
You're about 2 years too early for this to be a solved problem. A better equivalent to Realm's new platform will be a free commodity in a couple of years, the backing stores will be replaceable as well, the server can be as dumb as rocks. Realm's implementation is there feature wise, but they've taken a strange approach.
Anyway, the "right" way is a chunk of effort your first time:
Use some combination of CRDT based techniques to avoid/handle conflicts. CK becomes a dumb file store for "log" files. Your CK model doesn't change between aps.
Effort to get setup, but you can reuse 80-90% of your sync code between apps.
Ironically enough, there is an awesome talk from a former UIKit engineer over slimming down controllers hosted on Realm, perhaps it may be of use? https://realm.io/news/andy-matuschak-refactor-mega-controller/
You sure can! What you can't do is to override your property setter & getter methods, since Realm will replace them with its own optimized database accessors. See https://realm.io/docs/objc/latest/#realm-object-setters--getters-cannot-be-overriden
According to their website:
"Realm Inc. already generates revenue by selling additional enterprise products & services around the technology. If you need any features not available in the public releases, need additional tooling around Realm, or services to help your enterprise apps get going with Realm, we’re always happy to chat at ."
You might be able to do something with Kivy. But, otherwise the Apple TV can't run traditional Python code / scripts. The same is true for iOS.
Keep in mind that tvOS is just a much, much more limited version of iOS. If you can't do it on iOS, you can't do it on tvOS.
It sounds like the feature you're looking for is Test Flight.
Basically someone who has the code and access to a developer account uploads a build and marks it as a Test Flight build. Then they collect emails of people that they want to be testers. Then they add the list of emails as testers for the app, and the testers will get notified and will be able to download the beta build of the app.
You may find all information you might need to run Swift on Linux here. Now, if you are using vscode there are plenty of extensions to add Swift language support to the code editor, your mileage may vary here.
There is no such thing as "naming xxx quickly".
It reminds me of a piece I read some time ago, saying that the two most difficult things in programming were how to multi-thread properly, and naming variables & methods.
I'd say that no matter what you choose, prioritize coherence, especially with methods names, and don't be afraid to be verbose ; though, if you can come up with a shorter name that is equally comprehensive, go for it.
In your examples, I really don't find "gameOverLabel" to be overly verbose. "labelThatStatesThatTheGameIsOver" would be.
On top of all, don't use BS names like Pokemon names and such, or single-lettered names (with the exception of incrementers in loop statements).
Finally, try to use the standard framework naming conventions as much as you can.
Maybe these links could help you, though the Coding Guidelines for Cocoa seem a bit outdated now.
It was a not a great metonymy, as the Swift API design guidelines prefer a much more concise syntax. In fact, Swift 3 changes how UIKit and other frameworks are imported, to more closely align with those guidelines.
First I'd read Apple's guides on the topic. Additionally there are some community overviews of points of interest such as: http://www.sitepoint.com/getting-app-ready-ios-8/
For me, I found the way that notification permissions have changed required writing some iOS 8 specific code. Besides still having to address layout, that was the biggest deal breaker for my app. Of course if I had users on iPhone 6 or 6 Plus (mostly iPod for me), I'd focus there. Getting the adaptive layout right is probably the most imperative change for all of us.
Of course your mileage varies by what functionality you're implementing, so review SDK changes for features that rely upon them...
If you know programming then the best advice I can give you is to try make an iOS from scratch. I used the free two week trial from https://teamtreehouse.com/ to learn the basics of swift and xcode and then went on to make my own app. Go through the entire track at 1.5 speed and you'll be set to start programming something.
Hey OP, aside from Mr. I don't trust you, you may also find some use with the startup programs cloud providers have. AWS Activate (https://aws.amazon.com/activate/) or Microsoft BizSpark (https://www.microsoft.com/bizspark/) can really bring your hosting costs down, give you lots of other benefits, and increase your visibility in the community.
As Mr Magoo pointed out, this is a good problem to have. You are absolutely correct that you don't want to leave it until the day you are on the feature page.
Good Luck!
You are appending the documentID on your array, that's why you are getting the documentID in your table view.
Give a good look here to make sure you actually know how to retrieve data from Firestore.
I would recommend Firebase. It's extremely simple to implement an authorization (login) system, and database. The pricing model is scalable. You more than likely won't need to go beyond the free tier unless the app really takes off. They also have an analytics feature that does exactly what you were looking to implement in the future regarding app usage. You mention that you are competent with SQL – Note that the Firestore database uses a NoSQL structure. Make sure to structure your data properly, and build it for scalability. It could end up costing you a lot of money down the line. Firebase explains how to structure your data: https://firebase.google.com/docs/firestore/data-model
You can do this using cloud functions. I just set this up for one of my apps and it’s working great. You will need to use node.js and JavaScript to write the backend code to handle the push notifications. It sounds scarier than it is. I had never used node or JS before and with the help of some tutorials I was able to get it up and running. Try watching this video to get started. It uses TypeScript instead of JavaScript. There was a video showing how to use JavaScript which I used but I can’t seem to find it. Good luck!
I learned git with the Xcode interface since it's so straight forward, and I'd probably suggest starting with it especially if you'll be coding in Xcode alot. Now I mostly use the command line because its faster and more powerful, but I still use either the Xcode interface or SourceTree when I need to quickly see what an old commit contains. Eventually you'll reach a point where Xcode wont handle something (like stashing or squashing) and thats when you'll need to use the command line :)
Hello everyone! I think most of you guys have seen what I am working on by now. Either way, if you haven´t - Since last fall I have been working a cryptocurrency tracker. I noticed that most apps on the store either required sign in, in app purchases or had a bunch of ads, I want to change that. Cryptocurrency is for everyone, not just for those who pays. The app is still a WIP but I just released a big update for iOS so I thought it would be a good idea to show it now and hopefully get some feedback from you guys. The Android vesion is a little behind since I´m building for both platform. Please check it out if you have some extra time: Hope you like it :)
iOS: https://apps.apple.com/se/app/coincurrently/id1543974454#?platform=iphone
Android: https://play.google.com/store/apps/details?id=com.cryptium.coincurrently&hl=sv&gl=US
A lot of people are answering if knowing data structures is useful.
To actually answer your question, you will need to know data structures and algorithms for the larger tech companies like Facebook, Apple, Amazon, Netflix and Google (FAANG). Smaller companies will focus less on those academic things, and focus more on what projects you can actually make.
Cracking the Coding Interview is the seminal book on these types of interviews.
You wouldn’t be able to plug them into a standard outlet as they run off 12 volts DC and not 120 volts AC. You could, however, use a power supply running at 12 volts for them (Universal Compact Bench Power Supply - 12 Amp Linear Regulated Home Lab Benchtop AC-to-DC 12V Converter w/ 13.8 Volt DC 115V AC 270 Watt Power Input, Screw Type Terminals, Cooling Fan - Pyramid PS14KX, BLACK https://www.amazon.com/dp/B0002JTD20/ref=cm_sw_r_cp_api_i_1legFbMWRZ3SE).
All you need are the +/- 12V lines, the rest should just be speaker connections. Here’s a diagram for the Pioneer AVIC-W8400NEX as an example (page 4). You’d need to power the lines that always have power and the ignition-only lines. In this case you’d connect Red/Yellow to the red connector on the power supply, with a switch on red if you need to simulate the car being on/off. Black to black. Violet/White has 12V when the car is in reverse for positional information but you shouldn’t need that one.
Anything worth having is not going to be free.
All of the things you're looking for will cost money - Design for Hackers, designers.how, design+code, etc. And if you "borrow" or pirate the content.... that is not cool.
Hey guys, did a cliff notes overview of Clean Code by Robert Martin. There's a lot of info so it's covered over multiple episodes. The talk is done in the context of iOS/Obj-C/Swift programming.
Hope you enjoy. Let me know what you think. Look forward to feedback.
Second episode:
https://itunes.apple.com/us/podcast/writing-clean-code-part-2-overview- robert-martins-clean/id1231805301?i=1000394180791&mt=2&ls=1
First episode:
You have a lot to learn, take some courses and put the time in. Comments like this prove you are not ready to be charging for your work.
Would you hire a builder to build you a house who doesn't know how to plumb it? Sure you can get the walls up, it might not be great, but to become a craftsman and professional it's takes time.
Read some books such as Clean Coder, Clean Code, GoF design patterns and get yourself acquainted with development.
I believe the Stanford courses have been suggested to you before, I would go ahead and watch those, read some books and produce your own apps constantly trying new things. Make sure your code can flex with requirement changes too, it's a healthy thing that happens all the time in business!
As a rule of thumb Objective-C should be written self-documenting since it's super verbose anyway. See Clean Code by Bob Martin. Whenever something happens out of the ordinary like a weird CGRect trick to avoid an SDK bug you might want to explain what you do with a short description and a reference to a bug.
Every project should have a README that should enable the developer to successfully run the application from his local machine and tell him or her where to find information that is not in the repo because of security reasons like keys and and logins. If you cannot get your project up and running from cloning the repo and following instructions in the README that's a red flag.
Personally I work with Storyboards as much as possible so a new developer gets a visual idea of what's where very easily. I like to establish coding guidelines too. Apart from that I only document external API's for people that cannot see the API code.
Read this book: Working Effectively with Legacy Code
Starting at 'leaf code' write XCtest tests that put in executable form what the existing code does, and what it doesn't do.
Use mocks or fakes absolutely as little as possible. See The Rise and Fall of Unit Testing for more details on why tests with mocks aren't actually testing what you think you're testing.
For awhile, you can keep new code and old code in the program, to verify that the new code does what the old code did (when correct), but as soon as you can, delete the old code, to keep the program simpler, smaller, and easier to maintain. I'm assuming you're keeping the code history in a source code control system like 'git'. If you aren't already, then start!
This is a cross platform Unity game, here is the android version:
https://play.google.com/store/apps/details?id=com.xigmagames.rubek&hl=en
It's also a 3D game, so you would use SceneKit if you'd want to work in 3D natively.
In SceneKit, you can use any 3D program that can produce a dae model file.
Or, create your models right in Xcode.
Check out some sample SceneKit projects!
There are a lot of things you can do 😆 like light/dark theme, animation, allow user to add image, play with shadow and cards like the design in this link design. You can look at other designs for inspiration too!
Can we see the implementation for IPadDefaultViewController().loadDetailViewForTableRow? It looks like there's a missing cast
Edit: Probably something to do with optionals (see this). Is loadDetailViewForTableRow returning an optional or performing an as? cast?
If you don't want to have the UIImagePickerController rotate, you can disable rotation for it.
This is a common method of storing levels, especially in Unity games. As far as the code, these may help:
https://stackoverflow.com/questions/35029672/getting-pixel-color-from-an-image-using-cgpoint https://stackoverflow.com/questions/25146557/how-do-i-get-the-color-of-a-pixel-in-a-uiimage-with-swift
I would suggest extending the UIImage class.
We've run into autolayout issues with headers that have to resize themselves to fit their content. The fix is only a few lines of extra code, but it's enough that our generic cell handling code is just as easy.