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
Doctor w-rw-rw-
Jun 24, 2008

Kallikrates posted:

Right now FRP, and MVVM are popular and you can see parts of them within in MVC depending on where you draw the boundaries of responsibilities.

Speaking of which, does anyone know the idiomatic way of working with ReactiveCocoa? My experience thus far has it working for simple stuff, and for more complex usages written by a coworker, occasionally crashing on the dealloc of...something. I haven't yet shaken the feeling that there's some elegant way of applying it - possibly.

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.

Adbot
ADBOT LOVES YOU

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

Filburt Shellbach
Nov 6, 2007

Apni tackat say tujay aaj mitta juu gaa!
For the status bar in screenshots, I've been replacing my carrier's name with the name of the app.

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

Filburt Shellbach posted:

For the status bar in screenshots, I've been replacing my carrier's name with the name of the app.

Is there a handy way to do this, or are you just doing it in photoshop? I was poking through the UIStatusBar API briefly but couldn't make any sense of it.

Doh004
Apr 22, 2007

Mmmmm Donuts...
Our iPhone 6 test device came in today, installed our app. Interesting that they just scaled up the apps this time to fit instead of the black bars like they did with the 5. I imagine theres some new config/launch image we include in order to support the new resolutions? Google, I know, :effort:

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

Doh004 posted:

Our iPhone 6 test device came in today, installed our app. Interesting that they just scaled up the apps this time to fit instead of the black bars like they did with the 5. I imagine theres some new config/launch image we include in order to support the new resolutions? Google, I know, :effort:

Yep, or a launch xib/storyboard (warning: will turn your app universal if it isn't already).

Filburt Shellbach
Nov 6, 2007

Apni tackat say tujay aaj mitta juu gaa!

pokeyman posted:

Is there a handy way to do this, or are you just doing it in photoshop? I was poking through the UIStatusBar API briefly but couldn't make any sense of it.

Photoshop's how I do it. Back in the day, like iOS 3, you could do it with a jailbreak. Maybe there's still some private API for it, dunno.

Doctor w-rw-rw-
Jun 24, 2008

Filburt Shellbach posted:

Photoshop's how I do it. Back in the day, like iOS 3, you could do it with a jailbreak. Maybe there's still some private API for it, dunno.

IIRC the status bar's view is accessible by name without a jailbreak, but would obviously get caught before you reached the app store.

Filburt Shellbach
Nov 6, 2007

Apni tackat say tujay aaj mitta juu gaa!
Since it's just for app screenshot's that's fine.

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

Doctor w-rw-rw- posted:

IIRC the status bar's view is accessible by name without a jailbreak, but would obviously get caught before you reached the app store.

I couldn't figure out how to mess with the signal strength indicator and such. I got at the views ok though.

Doh004
Apr 22, 2007

Mmmmm Donuts...
We've used doctored screenshots before (like straight from PS/AI, not even from a device) and Apple didn't give a poo poo.

pokeyman posted:

Yep, or a launch xib/storyboard (warning: will turn your app universal if it isn't already).

Good to know! We're already universal so this should be interesting. Hopefully my old code isn't poo poo and things aren't hardcoded (they probably are :saddowns:)

fankey
Aug 31, 2001

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...

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.

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed

Doctor w-rw-rw- posted:

Speaking of which, does anyone know the idiomatic way of working with ReactiveCocoa? My experience thus far has it working for simple stuff, and for more complex usages written by a coworker, occasionally crashing on the dealloc of...something. I haven't yet shaken the feeling that there's some elegant way of applying it - possibly.

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.

All of the state involved should be stored in models and viewmodels, and the RAC stuff should be stateless wiring between the two, and between the viewmodels and the views. If you have any state in the RAC stuff beyond maybe some memoizing/caching[0] there's a very good chance you're doing things wrong.

[0] But I tend to be very dubious of caching anything short of a network request without very good evidence that it's useful regardless of context.

Doctor w-rw-rw-
Jun 24, 2008

Plorkyeran posted:

All of the state involved should be stored in models and viewmodels, and the RAC stuff should be stateless wiring between the two, and between the viewmodels and the views. If you have any state in the RAC stuff beyond maybe some memoizing/caching[0] there's a very good chance you're doing things wrong.

[0] But I tend to be very dubious of caching anything short of a network request without very good evidence that it's useful regardless of context.

Okay, that's what I'd expect. Definitely not what is being done in the code I'm looking at, though.

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

Plorkyeran posted:

All of the state involved should be stored in models and viewmodels, and the RAC stuff should be stateless wiring between the two, and between the viewmodels and the views. If you have any state in the RAC stuff beyond maybe some memoizing/caching[0] there's a very good chance you're doing things wrong.

[0] But I tend to be very dubious of caching anything short of a network request without very good evidence that it's useful regardless of context.

Stupid RAC question I've never managed to answer for myself by reading docs, articles, etc.: how do you deal with (do you deal with) a table whose rows change position (e.g. after a network response, or through user input), other than just calling -reloadData?

Plorkyeran
Mar 22, 2007

To Escape The Shackles Of The Old Forums, We Must Reject The Tribal Negativity He Endorsed

pokeyman posted:

Stupid RAC question I've never managed to answer for myself by reading docs, articles, etc.: how do you deal with (do you deal with) a table whose rows change position (e.g. after a network response, or through user input), other than just calling -reloadData?

The aborted 3.0 version has a magic thing to do it automatically. With 2.0 you can use KVO a bit more directly to get the information (as that PR does), diff the old and new arrays, send update events over the signal rather than just the full new array each time, or just say gently caress it and use reloadData.

One of the apps I worked with went the route of using RAC for all the trivial views that would otherwise be 90% boilerplate, and just did stuff the old fashioned way any time using RAC would require any sort of cleverness due to that some of the people involved really didn't grok FRP, and that actually worked out reasonably. Using RACSignals as if they were just promises isn't ideal, but mostly works.

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.
Interesting, thanks. Nice to hear that a hybrid approach is workable too.

NoDamage
Dec 2, 2000
Somehow they've managed to make the new iTunes Connect even worse than the old one. :(

Kallikrates
Jul 7, 2002
Pro Lurker
Lots of really bad widgets. I went to the apple store and tried to load up the two widgets their display phones have prepackaged, and both of them didnt load content.

ManicJason
Oct 27, 2003

He doesn't really stop the puck, but he scares the hell out of the other team.
Boy, I sure did miss when breakpoints would jump around your code randomly in old versions of Xcode. Thankfully, they brought that back in Xcode 6!

edit: I take that back. My breakpoints are being placed just fine, but none of my code changes are being compiled no matter how many times I clean/fuxcode. Time to roll back to Xcode 5 for a few months.

ManicJason fucked around with this message at 07:51 on Sep 22, 2014

Doh004
Apr 22, 2007

Mmmmm Donuts...
Is TestFlight borked for anyone else in iOS 8? Through actual TestFlight and not Apple.

Can't load it at all on my iOS 8 devices, but can still view and install from iOS 7 devices just fine.

Kallikrates
Jul 7, 2002
Pro Lurker
I ran into problems on some devices on friday. Couldn't load it on a 6, but loaded on a 6+ same network, same profile etc. Weird (shady?)

Doh004
Apr 22, 2007

Mmmmm Donuts...
Looks like it still works on our 5s.

*Edit* I lied, it works on our 5 but not our 5s. :wtc:

Something must be hosed with the 6's. I'll be honest, I've had troubles using it the past couple of days with connecting to things.

kitten smoothie
Dec 29, 2001

I had trouble with legacy TestFlight on my 6 all weekend, but my other iOS devices had no issues even though they were on iOS 8.

And then this morning TF is working just fine. :iiam:

Kallikrates
Jul 7, 2002
Pro Lurker
So if you had problems Friday and Saturday, I guess Testflights status pages was intermittently red due to load. I didn't know they had a status page, and their support channels are dead as of the acquisition. But that might explain some of the issues.

Doh004
Apr 22, 2007

Mmmmm Donuts...
Are we supposed to switch over to the Apple one now? I feel like everything has been super hush hush since the acquisition and it has me a bit worried.

Froist
Jun 6, 2004

Has anyone played around with the view hierarchy debugger, as previously seen in Reveal? I'm currently on a 80% success rate of it completely rebooting my laptop when I click a couple of views.

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

Doh004 posted:

Are we supposed to switch over to the Apple one now? I feel like everything has been super hush hush since the acquisition and it has me a bit worried.

Last I checked the Apple TestFlight only supports "internal testers", i.e. people with iTunes Connect accounts in your organization. If that describes you, you're good to go. If not you're stuck with the old.

kitten smoothie
Dec 29, 2001

Doh004 posted:

Are we supposed to switch over to the Apple one now? I feel like everything has been super hush hush since the acquisition and it has me a bit worried.

The Apple version of TestFlight seems a lot more restrictive. For internal testing, you're limited to 25 users, and they have to be identified in iTunes Connect under your team.

For external testing (i.e. betas outside your organization), you can distribute to up to 1000 users, but the app still has to go through the standard review process first. Also, that part isn't available yet.

Either way, it kind of sucks for my team's internal workflow. Our CI box builds an enterprise signed version of the app, and loads that onto ("legacy") TestFlight. Since it's enterprise signed, there's no restrictions; if you can get your hands on the .ipa then you can run the app. Our QA people use that, and it's also basically the standard dogfood build that a few dozen people in the company use.

HockeyApp might be a decent alternative that keeps that workflow going. We've already been using it for our Android team since February, when Apple bought TestFlight and abruptly ended Android support.

Doh004
Apr 22, 2007

Mmmmm Donuts...

pokeyman posted:

Last I checked the Apple TestFlight only supports "internal testers", i.e. people with iTunes Connect accounts in your organization. If that describes you, you're good to go. If not you're stuck with the old.

kitten smoothie posted:

The Apple version of TestFlight seems a lot more restrictive. For internal testing, you're limited to 25 users, and they have to be identified in iTunes Connect under your team.

For external testing (i.e. betas outside your organization), you can distribute to up to 1000 users, but the app still has to go through the standard review process first. Also, that part isn't available yet.

Either way, it kind of sucks for my team's internal workflow. Our CI box builds an enterprise signed version of the app, and loads that onto ("legacy") TestFlight. Since it's enterprise signed, there's no restrictions; if you can get your hands on the .ipa then you can run the app. Our QA people use that, and it's also basically the standard dogfood build that a few dozen people in the company use.

HockeyApp might be a decent alternative that keeps that workflow going. We've already been using it for our Android team since February, when Apple bought TestFlight and abruptly ended Android support.

Yeah that's what I figured. As long as they keep old testflight going then I should be happy.

Also we do use HA for our Android apps. Worse comes to worse we bring iOS over there.

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.

kitten smoothie posted:

For external testing (i.e. betas outside your organization), you can distribute to up to 1000 users, but the app still has to go through the standard review process first.

Wait what? I thought there was some kind of review process, but it was much less involved than the "standard review process".

kitten smoothie
Dec 29, 2001

pokeyman posted:

Wait what? I thought there was some kind of review process, but it was much less involved than the "standard review process".

Maybe so. They said you're subject to the same guidelines as App Store stuff so I assumed they were applying the same stringency.

https://developer.apple.com/app-store/Testflight/

Dessert Rose
May 17, 2004

awoken in control of a lucid deep dream...

kitten smoothie posted:

Maybe so. They said you're subject to the same guidelines as App Store stuff so I assumed they were applying the same stringency.

https://developer.apple.com/app-store/Testflight/

It says you have to go through a "beta app review" which I would assume is much lighter than a release app review.

Doc Block
Apr 15, 2003
Fun Shoe
Yeah, I don't think they're gonna reject your beta app for not being finished or whatever, they just want to make sure you aren't trying to distribute a "beta" app that's really just spyware etc to strangers.

WORLDS BEST BABY
Aug 26, 2006

Speaking of review, my app was rejected last night on the grounds that "2.21: Apps that are simply a book should be submitted to the iBooks Store", which is a bit rough after spending 8 months developing this app (a digital storefront/reader/library for comics created especially for phones).

I've filed an appeal but christ, didn't sleep much last night. I'm really worried that what they're really saying is that all the comics I want to publish should really be published on the iBooks Store, experience be damned. That would be overreaching, right? There's already an app precedent with Comixology/Madefire etc. but I know that the Review Board pretty explicitly say they don't give a drat about precedent.

lord funk
Feb 16, 2004

Froist posted:

Has anyone played around with the view hierarchy debugger, as previously seen in Reveal? I'm currently on a 80% success rate of it completely rebooting my laptop when I click a couple of views.

Hey, hard reboot buddy. On my Macbook Pro it always crashes if I drag / rotate the view debugger. Radar filed.

Froist
Jun 6, 2004

lord funk posted:

Hey, hard reboot buddy. On my Macbook Pro it always crashes if I drag / rotate the view debugger. Radar filed.

Ahh, it's drag to rotate - I couldn't work out how to go into the 3d mode at all. My crash always came when selecting different subviews in the breadcrumb bar at the top.

duck pond
Sep 13, 2007

My iOS custom keyboard was approved today (the Unicode picker one I was talking about with Flobbster over in the Swift thread), and since I've learned a lot from you guys over the years, here's some coupons:

P9LN3E73FAT9
X9YA46A4M9KA
KJFT3EEWT43W
4A6KF9XKELP3
PNXYHFFXE97P

Promo page: http://protonome.com/apps/glyf/

iTunes: https://itunes.apple.com/us/app/glyf-unicode-keyboard/id912177581?mt=8

Adbot
ADBOT LOVES YOU

HaB
Jan 5, 2001

What are the odds?
Hmm.

I have arrived at something I'm not sure of the best way to implement. The app I'm working on will allow in-app purchase of Sound Packs. The user can then select which Sound Pack they wish to use which will be in use until they select a different one. There are a few default sound packs to choose from provided.

My initial thought is to store each pack in a SoundPacks directory in the app's doc directory, and keep the filenames for the sounds the same. So the breadcrumb trail would look something like:

/<app docs dir>/SoundPacks/<pack name>/sound1.wav
/<app docs dir>/SoundPacks/<pack name>/sound2.wav etc.

with different packs being like:

/<app docs dir>/SoundPacks/Default/sound1.wav
/<app docs dir>/SoundPacks/Default/sound2.wav
.
.
.
/<app docs dir>/SoundPacks/MySoundPack/sound1.wav
/<app docs dir>/SoundPacks/MySoundPack/sound2.wav

Easy enough. So here's the "problem": The sounds are being used for localNotifications via: localNotification.soundName which simply takes the name of the file, with extension:
code:
UILocaNotification *localNotification = [[UILocalNotification alloc] init];
localNotification.soundName = @"sound1.wav";
Now, I assume that it's looking for "sound1.wav" in the project directory. But since xcode Groups aren't really folders, I'm not sure how to store alternate packs so they get installed with the app. Do I need to write some sort of loader, then pass the entire path to the sound to localNotification.soundName? By "write a loader" I mean something like: the wavs are stored in the xcode project dir as Default_sound1.wav, Default_sound2.wav, MySoundPack_sound1.wav, MySoundPack_sound2.wav, etc - and on first run, I create the dirs for each pack in the app directory, and copy the sounds over, renaming them to just sound1.wav, sound2.wav etc.

I'm mostly thinking out loud here, but has anyone tackled anything similar who could provide some insight?

TIA.

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