Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Glimm
Jul 27, 2005

Time is only gonna pass you by

Doctor w-rw-rw- posted:

https://www.facebook.com/paper

The thing I spent half a year working on. It's pretty sweet. (Sorry for the double-post)

Looks really cool man!

I do find it a bit weird that the marketing stuff goes out today and the app isn't going to be released until February 3rd.

Adbot
ADBOT LOVES YOU

Glimm
Jul 27, 2005

Time is only gonna pass you by

ultramiraculous posted:

What the hell does that even mean? Paging Dr 666!

I'm guessing it means merging Xcode project files is a pain in the rear end in a large organization?

Glimm
Jul 27, 2005

Time is only gonna pass you by


This app is completely buttery. Slick as hell.

Glimm
Jul 27, 2005

Time is only gonna pass you by

Doc Block posted:

Yeah, it was fun for 5 minutes and then I was done with it. IDGAF about Facebook, though, so v:shobon:v

edit: so that I don't sound like a meanie, it is a cool app. I just don't have a use for it.

I wish it would replace the actual Facebook application myself. I also wish I could hook my RSS feeds up to it manually.

I use Android when not at work though so no chance of that for my personal device I guess.

Glimm
Jul 27, 2005

Time is only gonna pass you by

kitten smoothie posted:

Anyone messed with iBeacon? I'm tempted to try bolting on some location awareness to an app of ours at our company hackday coming up, but I'm wondering if this is pretty straightforward or if there's peculiarities about it that'll make you tear your hair out. Based on WWDC talk #307 I'm assuming it's the former.

I was able to hack something together using the Estimote SDK pretty quickly (like, less than an hour). I haven't tried using plan on CLBeacon and friends but from what I understand Estimote's stuff was just a thin wrapper around it.

Glimm
Jul 27, 2005

Time is only gonna pass you by

lord funk posted:

Good lord. Implicit conversion loses integer precision:"unisigned long' to 'int' warnings. Hundreds of them.

It's okay, just cast everything to long! :cool:


Yeah this is really annoying. I added arm64 support to a project last week, it was kind of a pain to clean the warnings out.

Glimm
Jul 27, 2005

Time is only gonna pass you by

Froist posted:

To completely blow your mind (as it did mine about 5 minutes before taking that), option+shift+click on a file in the navigator view.

I use command+shift+o and option+shift+enter to open files pretty regularly. I just wish there were a way to set the default behavior and have it always open in a new window since that's what I want like 95% of the time.

Glimm
Jul 27, 2005

Time is only gonna pass you by

Doctor w-rw-rw- posted:

After you type in what you want in Command-Shift-O, hold down Option. If you want it to open in a new window rather than the assistant editor, go to Preferences->Navigation->Optional Navigation.

:monocle:

Thanks!

Glimm
Jul 27, 2005

Time is only gonna pass you by


Going minSdkVersion=14 on Android is totally the way to go these days and alleviates most of these issues. Dynamic layouts and handling different screen sizes is now a breeze in the Android world.

That said the iOS SDK is still easier to wrap ones head around, the Android lifecycle is pretty annoying to deal with (hence projects like Mortar/Flow from Square). But really it's not very different from iOS. Both are fun, play with both if you can - otherwise just sticking to whatever PC you have now and doing Android is fine.

Just don't jump into the hell that is Android <= 2.2

Glimm fucked around with this message at 02:13 on Feb 15, 2014

Glimm
Jul 27, 2005

Time is only gonna pass you by

Facebook open sourced a thing:
https://github.com/facebook/chisel

Facebook posted:

Chisel is a collection of LLDB commands to assist in the debugging of iOS apps.

Pretty neat.

Glimm
Jul 27, 2005

Time is only gonna pass you by

pokeyman posted:

nonatomic is probably the least interesting part of any given property declaration, why shouldn't it go last?

For a possibly helpful answer, see if you can use clang-format or uncrustify or something to fix it up for you and run it before commits.

I prefer nonatomic first because it keeps everything inline since nearly every single property is (nonatomic, foo).

Alas I've learned to give in as well.

Glimm
Jul 27, 2005

Time is only gonna pass you by

Peter Steinberger just open sourced a library for aspect oriented programming in Objective-C:
https://github.com/steipete/Aspects

Looks pretty interesting. I've never really done AOP but I plan on playing with this some.

Glimm
Jul 27, 2005

Time is only gonna pass you by

Plorkyeran posted:

I really wanted to like RestKit, but after actually using it in a nontrivial project I concluded it's a whole bunch of code that doesn't actually do anything particularly useful. Ripping it out and replacing it with Mantle, AFNetworking and just using CoreData directly made things quite a bit simpler.

I've only used Mantle once but I had an annoying issue where if I declared a property an NSString and the server returned all numbers for that string the property would actually be set to an NSNumber by Mantle. Maybe I was just doing something silly?

Glimm
Jul 27, 2005

Time is only gonna pass you by

Doc Block posted:

Is it just me or is the new iTunes Connect homepage really, really ugly? The text is hard to read, and ugh, plain gray for an icon? Seriously?

The application pages seem super spread out, so instead of having most/all information visible at once you have to scroll scroll scroll to see it all.

I think it looks really nice but it's really choppy and seems to be fighting Chrome every step of the way when I scroll around. Maybe I should switch to Safari for iTunes Connect.

Glimm
Jul 27, 2005

Time is only gonna pass you by

Doc Block posted:

I'm sorry, but this looks ugly to me, and it's hard to read:


Oh yeah, I just click 'my apps' so quickly I forgot about that page. It is terrible.

I like how everything about manipulating an app looks very much like modern iOS.

Glimm
Jul 27, 2005

Time is only gonna pass you by

PleasureKevin posted:

I'm following the Ray Wenderlich tutorials and I don't think I understand this passage.

As in I don't know where to control-drag to.

Typically you want to control drag to your ViewController's class extension category, which would be on top of your implementation (.m) and look something like:
code:
@interface MYAPPViewController()

// drag into this section

@end

@implementation MYAPPViewController
...
@end

You can also drag into the header, but unless the view really needs to be public that is discouraged.


edit: doh, I misunderstood - I thought you were asking about IBOutlets, but that doesn't look like that is the case.

I think it's telling you to drag to your view controller (it's probably on the left side of your xib/storyboard, with a yellow circle next to its name)

Glimm
Jul 27, 2005

Time is only gonna pass you by

Doctor w-rw-rw- posted:

That said, the "complex usage" I speak of has it doing a lot of really stateful things in the middle of a workflow, which doesn't seem right. Off the top of my head, it seems like FRP needs some sort of adapter to manage updates to stateful/long-lived objects in order to interact meaningfully with UI.

I'm not sure how complex my RAC stuff is but I tend not to do stateful things until I'm actually subscribing to a signal (usually in a ViewController). The stateful things I do before that final subscribe usually involve writing data received over the wire to disk in a map or flattenMap before transforming said data to one of my models.

Glimm fucked around with this message at 04:23 on Sep 20, 2014

Glimm
Jul 27, 2005

Time is only gonna pass you by

fankey posted:

Any recommendations on iBeacon hardware/SDK to play around with? The estimote looks pretty slick. Or maybe the kontakt? Apprently beacon companies are unable to spell anything correctly...

We ordered a bunch of Estimote beacons and they died in about ~3 months :(

They're replacing them but I'm not sure I'd recommend them based on that.

Glimm
Jul 27, 2005

Time is only gonna pass you by

Dessert Rose posted:

I don't get why everyone hates storyboards, they seem to work great for me. Am I going to find out in some horrible way in a year or something?

Just don't dump the entire app into a single storyboard. I've seen some monster sized (30 controller) storyboards that are just insanely hard to deal with. I try to keep mine small as much as possible (5 controllers or so being larger storyboards).

Glimm
Jul 27, 2005

Time is only gonna pass you by

Kallikrates posted:

nothing about the new testflight is scriptable/automatable iirc. One of the major reasons we might be switching to hockey app.

Have Apple said anything about discontinuing the old TestFlight system? For now we're still using that.

Glimm
Jul 27, 2005

Time is only gonna pass you by

fleshweasel posted:

You guys are right that Swift isn't ready for serious undertakings, but I'm finding the complaints about it overexaggerated in Xcode 6.1.

Seriously? I can barely use it. Typing a few characters results in multiple SourceKit crashes. Autocomplete basically doesn't work, and neither does syntax highlighting. I've been using vim to edit and Xcode to build lately.

Glimm
Jul 27, 2005

Time is only gonna pass you by

Plorkyeran posted:

This has been my experience as well. The only time SourceKitService makes it to a second of uptime before crashing is if my hands are not on the keyboard or mouse, and I'm not sure if I've autocompleted a single thing in Swift with 6.1.

Weird thing is the 6.1 betas weren't that bad for me.

Glimm
Jul 27, 2005

Time is only gonna pass you by


For one target/action is pretty terrible in Swift.

Glimm
Jul 27, 2005

Time is only gonna pass you by

kitten smoothie posted:

New TestFlight doesn't solve a lot of people's use cases (i.e. enterprise cert based internal distribution, posting builds from a CI pipeline, or like my company does, a combination of both) but that's not stopping Apple from shutting down old TestFlight anyway -- they just gave notice that it's going away 2/26.

I guess HockeyApp is going to get a nice bump in customers soon.

Yeah I'm pretty bummed about this. Thinking about checking out Twitter's beta distribution thing as well.

Apple :rant:

Glimm
Jul 27, 2005

Time is only gonna pass you by

Subjunctive posted:

Great! Please send feedback and such, it'll make me look wise and like I'm endowed with good judgment in addition to great looks.

Is there a place to request invites? I'd like to play with this too, but I'm not sure I'd give great feedback and make you look good since I know almost nothing about JavaScript in general and it'll all be new to me

Glimm
Jul 27, 2005

Time is only gonna pass you by

Built 4 Cuban Linux posted:

Fixed it. CocoaPods isn't ready for Swift (at least when making extensions).

Got another question: anyone know a way to submit an app made with Xcode 6.3-beta for TestFlight testing? Application Loader & Xcode are both rejecting me because I'm using a beta Xcode. Seems sort of ridiculous that you can't beta tests apps made with Xcode beta. Any ways around this?

Apple's takeover of TestFlight as a whole seems pretty half baked :(

We've been using Crashlytics

Glimm
Jul 27, 2005

Time is only gonna pass you by

Cool, React Native released too:
https://github.com/facebook/react-native

Glimm
Jul 27, 2005

Time is only gonna pass you by

Security issue for any apps using AFNetworking 2: http://arstechnica.com/security/2015/04/24/critical-https-bug-may-open-25000-ios-apps-to-eavesdropping-attacks/

Glimm
Jul 27, 2005

Time is only gonna pass you by

Anyone else at CocoaConf Columbus this week?

Glimm
Jul 27, 2005

Time is only gonna pass you by

Malloreon posted:

At my last company we did this when we were reasonably certain testing would be good, to cut down on release times.

we'd ship a test build and submit, then start testing. if testing didn't uncover anything, we'd release the submitted build. If it did, we'd resubmit.

Yeah this is pretty common for me too. We just hold for developer release, if any problems crop up we resubmit even after approval.

Glimm
Jul 27, 2005

Time is only gonna pass you by

lord funk posted:

What do you guys do for re-using common in-house code between projects? I really like Swift extensions, and I have a file of common ones that I'm copying between projects. But that's dumb because modifying it in one project doesn't propagate to the others.

Using a whole Xcode project + workspaces seems excessive, but maybe that's the way to go.

Or maybe build a framework?

We've setup an internal Cocoapods repo and are using that.

In our longterm roadmap we're considering moving to actual frameworks / Carthage but it seems like a pain in the rear end whereas right now Cocoapods _just works_.

Glimm
Jul 27, 2005

Time is only gonna pass you by

Doh004 posted:

Hot drat, finally tried out the Fastlane tools. Just integrated our alpha builds from our CI onto Crashlytics and beta builds straight to iTunesConnect and TestFlight.

This seriously owns.

Oh yeah, they are amazing. Totally recommend them. They ought to be first party imo.

Glimm
Jul 27, 2005

Time is only gonna pass you by

What is the best way to handle having 3 different versions (dev, staging, prod) of my app installable on a single device, but with different icons / pointing at different web services?

In the past I've used targets for this - it's pretty straight forward, but error prone. Forgetting to add a file to a particular target can cause problems, it's annoying to keep the versions / build numbers in line, and really it feels like using targets incorrectly (it is the same app after all).

The right way to do this seems to be different build configurations. I think I'm missing something straight forward in how to use them though, for example: I send builds out internally on staging, but the 'archive' Xcode option is pointing to the production (Release) configuration. It seems bizarre to manually edit my scheme's Archive option every time I send an internal build out. How do I make archive sometimes use production and at other times use staging?

Glimm
Jul 27, 2005

Time is only gonna pass you by

Kallikrates posted:

Everything can be handled via build settings. App Icon: https://engineering.circle.com/different-app-icons-for-beta-dev-and-release-builds/
For your services you can use compile time flags.

Right, sorry I wasn't clear - how do I archive my dev configuration vs staging configuration vs production configuration without creating separate schemes that point to a different configurations within their archive steps?

Glimm
Jul 27, 2005

Time is only gonna pass you by

Doh004 posted:

Ah okay, then yeah another scheme is the way to go. I've personally just found it to be less of a hassle to have one scheme with various configurations for each environment.

Yeah I've found the same. I just assumed I was missing something and there was a simpler way to switch build configurations for archiving.

Thanks for the discussion. I'll look into using the command line to specify the proper configuration.

Glimm
Jul 27, 2005

Time is only gonna pass you by

Dessert Rose posted:

Accessibility is just too much work, we'd rather work on features everyone wants?

That's Apple thought too - which is why they didn't add Dynamic Type support until iOS 7.

Glimm
Jul 27, 2005

Time is only gonna pass you by

xgalaxy posted:

So I've been out of the OS X and iOS dev scene for 5 years now. For fun I want to develop an app using Swift because I want to learn the language, etc.
What does a modern OS X app using Swift software stack look like currently? Eg. what libraries and poo poo should I be looking at?
I seem to remember something about ReactiveCocoa. Is that actually a thing people are taking seriously? What about unit testing? Etc. etc.
Lay it on me.

Thanks.

RAC is a lot of fun and makes MVVM style code fairly simple to write. I haven't used the Swift implementation yet but it looks pretty solid. I've found unit testing my code to be easier using MVVM and RAC.

Glimm
Jul 27, 2005

Time is only gonna pass you by

pokeyman posted:

What's the debugging and crash investigating look like with RAC? It's the fifty-block-deep backtrackes I'm afraid of.

I really haven't found them to be much of a problem. It's usually pretty clear where something in the stack trace is my code vs the framework.

The bigger things that I think people will run into when trying RAC are performance issues and type safety - for RAC 2.x at least. RACCommand (a commonly used class in 2.x) is expensive to create. It's tempting in certain cases to make a RACCommand for each reusable cell and I've seen posts on the GitHub issue tracker where people have run into performance problems doing that. When subscribing to RACSignals the value that is emitted is an `id` - which makes sense but is it is very easy to accidentally send a different type than one expects. It is important to document the type a signal is expected to emit. This is better in Swift as Signals can be typed and the compiler can help ensure correctness.

Definitely a learning curve and a different way of thinking about things. I totally understand not wanting to jump into it - there are other ways to do MVVM/binding. I really like the other benefits of RAC and I feel like it really simplifies the way I handle asynchronous work - especially combining / chaining / mapping operations.

Glimm
Jul 27, 2005

Time is only gonna pass you by

kitten smoothie posted:

If I'm used to RxJava and its idioms what's the RAC learning curve like?

Some things are named a bit differently but a lot of the knowledge crosses over very well. RxMarbles is very useful for visualizing the operators in both, for instance. RAC 3+ has different types to differentiate between hot and cold signals (observables) which looks very different to me than RxJava/RAC2 - sorry I don't have much experience with that API to elaborate. There is also RxSwift which is meant to have essentially the same API as RxJava (and the other official Reactive Extension projects) but is less mature than ReactiveCocoa.

Personally I'm excited to move to the Swift version of RAC as the hot/cold separation sounds really sensible to me.

Adbot
ADBOT LOVES YOU

Glimm
Jul 27, 2005

Time is only gonna pass you by

lord funk posted:

Figured out the old library isn't 64-bit. How in the living hell did that not come up in the last two weeks???

Kinda surprised this made it through Apple's review process.

Not terribly surprised, but a little.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply