|
Doctor w-rw-rw- posted:Apologies, this was the common wisdom when I was doing iOS dev pre-iPad, pre-iPhone 3GS even. I haven't revisited localization since then. Should have thought more about that. My more recent iOS dev was mostly iterating on an English-only app. It's all good; I finally got UIAutomation going so at least I can rip through the 180 screenshots in a somewhat automated way, but if you use the names (accessibility labels) its useless because those get translated too... So you have to access everything by index, which is fairly brittle. I will say that German has had the best sales for me, like double the next which is Japan. Of course the US is #1 by such a ridiculous margin, then the commonwealth countries UK/Canada/Australia/NZ next (25% of US), then Germany (like 10% of commonewealth), then Japan, then France, then the Spanish countries. Localizing to Chinese was a massive waste. I haven't tried Korean, Russian, Italian, Dutch, etc so far. Simulated fucked around with this message at 15:57 on Jan 17, 2013 |
# ? Jan 17, 2013 15:54 |
|
|
# ? Jun 8, 2024 08:39 |
|
A bit of a noobish question here: on the iPad version, I have a couple of visible controllers up at all times. One of them displays a bunch of stubbed content when the app initially loads, but then eventually it should refresh itself when it receives a notification through NSNotificationCenter and display the final data. What I'm seeing though is that modifying the view doesn't seem to redraw it right away. In fact I have to wait 5-20 seconds for the new content to suddenly appear on the screen. Same thing if I pop open a full-screen modal and close it, viewDidLoad for that controller kicks in and displays the correct content. I imagine I might have to force the view to be re-drawn on the screen, or is that always wrong and thus I should be using a more idiomatic approach to this problem?
|
# ? Jan 18, 2013 07:06 |
|
DreadCthulhu posted:A bit of a noobish question here: on the iPad version, I have a couple of visible controllers up at all times. One of them displays a bunch of stubbed content when the app initially loads, but then eventually it should refresh itself when it receives a notification through NSNotificationCenter and display the final data. [self setNeedsDisplay] when the content is updated might do the trick.
|
# ? Jan 18, 2013 08:08 |
|
Ender.uNF posted:[self setNeedsDisplay] when the content is updated might do the trick. That was the first thing I tried, but it doesn't seem to do the trick. I could be doing this wrong though, no guarantee there. I wonder if the fact that this specific controller is a "contained controller" under another controller screws something up in the redrawing. What's odd is that the same logic works perfectly fine on iPhone, when that controller occupies the whole screen. I receive the notification, the screen updates immediately. Not on iPad though.
|
# ? Jan 18, 2013 08:25 |
|
Finally got my first app up on the app store! So proud of myself - pretty much learnt everything from scratch starting in August last year. Stackoverflow and Ray Wenderlich are amazing resources when you get stuck. Any problem I had, someone else had figured it out already and posted about it there. Oh and of course lurking in this thread is great too. If you want to check out my free app and give me some feedback it's called the NorthStar Battery App. It's kind of a specialized app for the telecom, datacenter and engine start industry, but I tried to make it easy for anyone to use.
|
# ? Jan 18, 2013 09:14 |
|
Ok, retard me. I was completely oblivious to the fact that NSNotificationCenter receives messages on the same queue they're sent to (or the system is simply synchronous, thus quite similar) and so I was modifying the view in the background queue. What surprises me is that there was nothing in the logs about it. I thought it always lets you know when you're modifying the UI from outside the main thread..
|
# ? Jan 18, 2013 10:08 |
|
DreadCthulhu posted:Ok, retard me. I was completely oblivious to the fact that NSNotificationCenter receives messages on the same queue they're sent to (or the system is simply synchronous, thus quite similar) and so I was modifying the view in the background queue. What surprises me is that there was nothing in the logs about it. I thought it always lets you know when you're modifying the UI from outside the main thread.. Ah, the always entertaining "behavior is undefined". It might do nothing, it might crash, it might cause your computer to vomit rainbows. All are equally valid responses! On dotnet WinForms and WPF have the same problem; only one UI thread and you had better be doing all your UI modifications on that thread or you'll be sorry. Of course the answer is mainQueue or BeginInvoke respectively, which begs the question: why can't these drat UI toolkits just do that for me?
|
# ? Jan 18, 2013 16:12 |
|
A while back, when I was trying to figure out some random, drawing related crashes, I tried using swizzling to make it throw an exception when doing off-main thread UI work. I got it to work but it wasn't usable - UIKit was, as far as I could tell, intentionally splitting off some UITableView drawing onto a background thread. I'm still not sure that wasn't causing some of the issues I was seeing, either.
|
# ? Jan 18, 2013 16:22 |
|
Ender.uNF posted:Of course the answer is mainQueue or BeginInvoke respectively, which begs the question: why can't these drat UI toolkits just do that for me?
|
# ? Jan 18, 2013 16:38 |
|
I will have my cake and eat it too, thank you very much.
|
# ? Jan 19, 2013 00:16 |
|
Weird. An update for an iPhone-only camera app I wrote was just rejected because the reviewer couldn't take pictures with it on an iPad. Except that I specifically tested it on an iPad, knowing that iPhone-only apps are still expected to work on iPads, and it works fine. Release builds, Ad-Hoc builds, etc., all work fine. The iPad 2 and iPad mini have rear cameras, right? I only have an iPad 3 to test on.
|
# ? Jan 19, 2013 03:00 |
|
They do. My app was waiting for review, then hit review after 3 days, then approved in under an hour. First submission. It's great timing since we have a big expo today too...
|
# ? Jan 19, 2013 04:30 |
|
Added those links from last page to the 2OP, thanks!
|
# ? Jan 19, 2013 19:05 |
|
There's also NSScreencast, which is byte sized iOS stuff, like how to use UIContainerView, etc. First few articles are free, to see anymore you need a $9/month subscription.
|
# ? Jan 19, 2013 21:18 |
|
Carthag posted:A bunch of links This is awesome and pretty definitive imo, thanks! Was also wondering what everybody thought about this? https://github.com/snakajima/neunode snakajima posted:neu.Node is an implementation of Node.js-compatible API for iOS devices, which allows the application developer to embed variety of micro servers (http server, chat server, proxy server, game server, etc.) in their iOS applications.
|
# ? Jan 21, 2013 01:24 |
|
I don't get it. It's node.js running in a web view because ???
|
# ? Jan 21, 2013 03:15 |
|
Because some people feel they have a need, nay, an obligation to port every open source project to every platform.
|
# ? Jan 21, 2013 03:18 |
|
I mean we already have little http servers written in objective-c, too many "JavaScript-objective-c bridges"...
|
# ? Jan 21, 2013 03:43 |
|
Because web developers.
|
# ? Jan 21, 2013 05:53 |
|
How do I understand the Sales and Trends page in iTunes Connect? If I'm in the daily view, it shows 3, 70, and 69 for the last three days and below the graph, the breakdowns of the numbers for the selected day, which is fine. But if I switch to weekly view, I get 142 downloads. The math works out there. But the numbers on the "Top Markets" chart only total to 84? What gives? Did I really have 58 downloads from other countries?
|
# ? Jan 22, 2013 02:20 |
|
Noob problem with UIWebView that is driving me nuts: Context: 1. I am working on a storyboard app that I started from scratch. I like starting from scratch and wiring up the storyboard has not been a problem. 2. The initial view controller is a vanilla UINavigationController. The app is mostly a hierarchical navigation of various menus and content pages, but deeper and more varied than the Master/Detail template. 3. The root view controller of the nav controller is a vanilla UIViewController with a few controls, one of which is an "About" button. 4. Pressing the "About" button should segues to a view displaying a nicely formatted 'about' page that will be larger than the device display. Judging from the data views at my disposal, and Interface Builder's ease-of-use, it would appear that formatting content like this is better done in a HTML resource and displayed in a UIWebView than constructed using various UIKit objects (is this correct?). 5. In my attempt to use a UIWebView to display a nicely formatted 'about' page, it appears that the only way to get local content into a UIWebView is by sending a message such as loadHTMLString or loadData (is this correct?) 6. From the documentation that I can find it seems that such messages should be sent by the parent ViewController of the WebView in response to something like a viewWillAppear or viewDidLoad event, and thus will require a custom ViewController. 7. I created a custom AboutViewController that has an outlet for a WebView, wired up an instance of it as the target of the 'About' button segue from the root view controller, and wired up a UIWebView as its child and connect it to the outlet. 8. The custom view controller appears to never be getting messages such as viewDidLoad or viewWillAppear. It never hits breakpoints set in implementations for these. 9. Testing with a single-view application definitely shows that this technique of initializing WebViews works in other contexts, so I can only conclude that I am missing something about how navigation controllers work - which is frustrating because I've been scouring xcode's own docs such as "UI Navigation Controller Class Reference" and can find no warnings about such events being swallowed up. Code for my custom view controller that is the target of the segue: code:
code:
|
# ? Jan 22, 2013 10:26 |
|
Paolomania posted:Noob problem with UIWebView that is driving me nuts: 90% of the time when this happens to me, it's because I forgot to change the class of the view controller in my storyboard from UIViewController to MyCustomViewController. As for loading your HTML into you UIWebView, correct, you either load a string or a loadData to the view a la: code:
code:
I found cleaning target helps a lot too when wondering why changes in web views weren't showing up; maybe it clears the view's cache or something?
|
# ? Jan 22, 2013 15:13 |
|
Thanks. I cleared the simulator's content and it worked.
|
# ? Jan 22, 2013 17:46 |
|
Is the iOS 6.0 simulator busted in regards to app rotation? We have an iPad app that was built for 5.1 and is landscape only. It works fine in the 5.1 simulator and on all versions of iOS 5 and 6 on the actual devices but when I try to run it from Xcode in the 6.0 simulator all of the views are rotated 90° counter-clockwise. I found this thread that sounds similar to my issue but the answer posted there doesn't seem to work at all. Has anyone else seen this? I know the simulators have their quirks and bugs but as of now I can't use the iOS 6 one with my app at all.
|
# ? Jan 22, 2013 22:18 |
|
I'm not quite sure where I would even start to ask these questions, but as far as I can tell, this is the best place. I've created spreadsheets for several things, utilizing vbasic for some of the functions. If all that stuff is already done, how difficult would it be to have an app developer turn it into a usable app for me? What I'd like is my sales guys to be able to run the quote and other spreadsheets while they're at a meeting, and have a quote/engagement agreement ready for signature immediately. So, bonus points for having the ability to sign a document with a stylus on the ipad. Would this be a super costly thing? Where would I even find good freelancers to do this for me? Is this totally the wrong place to ask this question? Is it possible to have the app only available to my salesguys and not the general public through the app store? I know, very dumb basic questions for this thread, but I'm not quite sure how to proceed. burmart fucked around with this message at 23:25 on Jan 22, 2013 |
# ? Jan 22, 2013 23:23 |
|
I'm really weirded out now. I pushed out an update to change a few things my boss isn't a fan of. No major changes, just some UI stuff. When I uploaded the binary, I checked the control panel for the app -- the current version has the icon with the gloss etc. applied, the newest version that I just uploaded... doesn't? Has something changed in the last week or is this normal?
|
# ? Jan 23, 2013 04:05 |
|
tarepanda posted:I'm really weirded out now. This happened to me in reverse. You can contact Apple through iTunes connect and they'll fix it for you.
|
# ? Jan 23, 2013 04:08 |
|
lord funk posted:This happened to me in reverse. You can contact Apple through iTunes connect and they'll fix it for you. I went to get a screenshot of it for reporting and it fixed itself. Go figure. Thanks.
|
# ? Jan 23, 2013 04:21 |
|
burmart posted:I'm not quite sure where I would even start to ask these questions, but as far as I can tell, this is the best place. It depends what you're looking to do. If you're just talking about converting the entire thing into an app, that's going to take longer than taking input from a given spreadsheet, crunching numbers, and creating a quote/agreement generated on that basis. If you're only going to be using the app in-house, you'll want to enter into the enterprise developer program, which allows you to bypass the App Store in a legitimate, legal fashion. The cost is $299/year, and that's going to be a fairly small amount compared to what you'll pay to have the app developed. Depending on the complexity of the spreadsheets, data manipulation, network integration, etc., etc. I'd say you're looking at a minimum of $5000, and it's hard to give an upper bound without knowing more about the spreadsheets involved and the exact functionality you need. This is obviously a very quick estimate, but in general there aren't many apps which are going to come in significantly under that number. In terms of finding a freelance developer, I've picked up work from this forum before, and I'm guessing other developers around here have as well. Apart from that, I'd really have no idea where best to look, as I've picked up all my app development contracts from people I know in person.
|
# ? Jan 23, 2013 04:44 |
|
Hey guys. Quick question and I can't figure out the correct way to search for this on google. Can I type an id pointer after initializing it? (I know I phrased that poorly, part of the reason I can't find an answer. For example:code:
|
# ? Jan 23, 2013 04:47 |
|
Usually you don't even need to cast, it should only be necessary if there are conflicting method signatures (ie selectors with the same name but different params/return values). But anyway, if all calls made after the if-blocks are equally valid on Enemy- and Player-classes, I'd do one of two things: Either use their common superclass which should be where their common methods/properties are defined anyway: Objective-C code:
Objective-C code:
|
# ? Jan 23, 2013 04:53 |
|
code:
|
# ? Jan 23, 2013 04:53 |
|
To answer your question, no, you can't change the type of a variable after you've declared it. You would have to create separate variables with the types you want and have them all point to the same object.
|
# ? Jan 23, 2013 06:46 |
|
Yodzilla posted:Is the iOS 6.0 simulator busted in regards to app rotation? We have an iPad app that was built for 5.1 and is landscape only. It works fine in the 5.1 simulator and on all versions of iOS 5 and 6 on the actual devices but when I try to run it from Xcode in the 6.0 simulator all of the views are rotated 90° counter-clockwise. They changed how rotation works in iOS 6 so you may be running into that problem. Finding a clear, concise explanation of exactly what was changed and what you need to do to fix it was seemingly impossible for me, I ended up just fussing with the views and whatnot until I got it working correctly. If I recall, previously if a container like UINavigationController or UITabController were the root, they would end up controlling rotation so I had to use a category to take over and return the proper allowed rotations, but under iOS 6 it seems like the view itself is responsible for vending what rotations it can support (supportedInterfaceOrientations I think), and the App delegate and/or parent view controllers get an opportunity to veto that if they want. I can't remember clearly, we just had a baby so I am running on zero sleep. tarepanda posted:I went to get a screenshot of it for reporting and it fixed itself. Go figure. Do you mean in iTunes Connect or on actual devices? My app always shows the wrong icon in iTC before approval, then it eventually corrects itself.
|
# ? Jan 23, 2013 06:58 |
|
Built 4 Cuban Linux posted:Hey guys. Quick question and I can't figure out the correct way to search for this on google. Can I type an id pointer after initializing it? (I know I phrased that poorly, part of the reason I can't find an answer. For example: Beating a dead horse: You can initialize two new pointers of the specific types and set them to point to the object. tarepanda posted:
Note that if you do it this way, the pointers will not be in scope outside of the if/else blocks.
|
# ? Jan 23, 2013 07:09 |
|
That was a sloppy mistake on my part, ugh. I've been doing too much Python lately.
|
# ? Jan 23, 2013 07:19 |
|
Ender.uNF posted:They changed how rotation works in iOS 6 so you may be running into that problem. Finding a clear, concise explanation of exactly what was changed and what you need to do to fix it was seemingly impossible for me, I ended up just fussing with the views and whatnot until I got it working correctly. If I recall, previously if a container like UINavigationController or UITabController were the root, they would end up controlling rotation so I had to use a category to take over and return the proper allowed rotations, but under iOS 6 it seems like the view itself is responsible for vending what rotations it can support (supportedInterfaceOrientations I think), and the App delegate and/or parent view controllers get an opportunity to veto that if they want. I can't remember clearly, we just had a baby so I am running on zero sleep. OK so I figured it out for my project at least. I guess the old shouldAutorotateToInterfaceOrientation works just fine as none of the new methods that I'm finding as solutions are ever being called and don't make a drat bit of difference. It turns out as per this thread in my AppDelegate's didFinishLaunchingWithOptions I had to change code:
code:
e: for a positive iOS6 experience, the fact that you can use Safari to inspect WebViews in an app running in a simulator or attached device is pretty baller Yodzilla fucked around with this message at 17:53 on Jan 23, 2013 |
# ? Jan 23, 2013 17:47 |
|
This is a bit late, but I had the same issue. It seems that iOS 6 rotation issues are always some combination of settings in the xib being wrong and not having a root view controller set.
|
# ? Jan 23, 2013 18:01 |
|
Doh, that was a problem for me as well. Lack of sleep is really messing up my ability to code and making me forgetful.
|
# ? Jan 23, 2013 19:29 |
|
|
# ? Jun 8, 2024 08:39 |
|
The new iOS 6 autorotation methods don't get called if your app's deployment target is anything earlier than iOS 6.
|
# ? Jan 23, 2013 21:20 |