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
klem_johansen
Jul 11, 2002

[be my e-friend]
Woot! The NYT just named Nash Smasher as one of the top 10 iPad apps for kids!

Adbot
ADBOT LOVES YOU

klem_johansen
Jul 11, 2002

[be my e-friend]
Got a client who needs a relatively simple app to run on iOS, Android & Blackberry. So, naturally I'm looking into Phonegap since it's more or less a web-app that needs access to the camera. Has anyone heard of apps getting bounced by Apple for using Phonegap?

klem_johansen
Jul 11, 2002

[be my e-friend]
Just about to issue a new app and I got this note warning me against compiling it with 4.3, noting that Verizon users won't be able to run them.

So, do I have to retrograde to the 4.2 sdk? Is that even possible? My only options are 3.2 and 4.3.

In the build's summary I can change the development target to 4.2 and rebuild, but I'm still worried because I'm compiling with 4.3. The code itself is almost completely unchanged since I last built it with 4.1, so I should be fine. Right?

klem_johansen fucked around with this message at 04:46 on May 10, 2011

klem_johansen
Jul 11, 2002

[be my e-friend]

Small White Dragon posted:

Newer SDKs can produce binaries that run on older OSes just fine. If you set the target to 4.2 and don't use any 4.3-specific APIs, you'll be fine.

Thanks!

klem_johansen
Jul 11, 2002

[be my e-friend]
I'm having a weird issue with an international app. It's got Chinese text & audio and it's only available in the Chinese store, but in iTunes the language says "English." I thought about resubmitting it with "Taiwan" as the "localization native development region" but I'm not sure that would work. I can't find anything else that would affect this.

[And yeah, this isn't a traditional localization project because the app involves massive amounts of art and sound in a specific language, so it made sense to make a Chinese-specific app rather than mushing different languages together.]

klem_johansen
Jul 11, 2002

[be my e-friend]
I'm searching around my build settings and info plists for what I can do to change the default language of my app in the store. It's a Chinese app offered only in the Chinese store. It's not really a localized app, so I haven't messed around with that. I have a suspicion that changing the Localization native development region, but I want to be sure before uploading a new binary.

Would setting it to Taiwan make any difference? Or could it be that it's an error on Apple's side? Someone mentioned that it could be a matter for iTunesConnect support.

klem_johansen
Jul 11, 2002

[be my e-friend]

Sir Davey posted:

This is a shot in the dark but... If you can change the country to Taiwan, can't you change it to China? If China's not there, try People's Republic of China as that is the official name of the country.

Everything I read tells me that I need to add .lproj localization folders but this isn't a localized app. It's a single language but somehow the app store won't say that it's Chinese.

klem_johansen
Jul 11, 2002

[be my e-friend]
Thanks! I think you're right.

I recently did a Dutch one and it's listed as dutch in the store without me having to do a thing. I think Chinese might be an odd case since the character encoding might be different.

klem_johansen
Jul 11, 2002

[be my e-friend]
Saw an app to seems to run in the background, intercepting text messages and auto-replying to the original senders. How in the hell is that possible?

http://www.makeuseof.com/dir/dont-text-me-auto-reply-text-messages/

klem_johansen
Jul 11, 2002

[be my e-friend]
There has got to be a simpler way to implement QR code recognition in PhoneGap. So far I'm loving it as a development environment for quick prototyping but the instructions for implementing ZBar/QR decoding leads me to a morass of errors and apparent version conflicts. I'm trying to stick with PhoneGap because it should make porting to Android easier, which is a little ironic since Android has some QR functions built in from what I understand.

Any ideas?

klem_johansen
Jul 11, 2002

[be my e-friend]
[nevermind]

klem_johansen fucked around with this message at 03:44 on Jun 9, 2011

klem_johansen
Jul 11, 2002

[be my e-friend]
anybody know why an app would exit on suspend even though "exit on suspend" is set to no in the info.plist? I'm using the newest version of PhoneGap. It suspends fine in the simulator but on the device it restarts after I hit the button and then touch the icon again.

klem_johansen
Jul 11, 2002

[be my e-friend]
I know you can force a language at start up, but I can't find anything about changing the language on the fly-- anything that actually works, that is. Any ideas?

better question: should I lose the idea of setting the language inside the app? It seems like using the defined language is the way to go, but I want to make sure the user knows they can switch.

klem_johansen fucked around with this message at 06:07 on Dec 6, 2011

klem_johansen
Jul 11, 2002

[be my e-friend]

pokeyman posted:


e: This is probably quite a bit of work, and I'm assuming here that you have a compelling reason for your app's interface to be in a language different from the OS and every other app.

It's a kids' pop-up book, our third such app. The client wants people to be able to choose the language. I think I'll homebrew a localization set that defaults to the device's language setting.

klem_johansen
Jul 11, 2002

[be my e-friend]
When adding a new subview with a page curl:

[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.view cache:YES]

in landscape mode, I have the issue where the curls look weird when the device is upside down. I tried alternative between curlUp & curlDown based on orientation, but it still doesn't look right.

I know i can set a container frame to flip everything in a block animation, but it doesn't seem to work in this form. It seems like there must be a simpler way. Is there?

klem_johansen
Jul 11, 2002

[be my e-friend]
I'm working on an app for an event in which the client really wants FourSquare integration. I'm confident that I can set up venues and enable "check-in" to the various spots. However, the client really wants a way to display the user's nearby friends and their last check-in.

I read somewhere that the FourSquare API does not allow for that sort of thing and can only access check-in history for the logged-in user. Is that correct? I'm trying to figure out the best way to do this. Any suggestions?

klem_johansen
Jul 11, 2002

[be my e-friend]
I'm getting an odd issue where XCode says that a header file can't be found even though the file is right there in the project browser. I've even gone so far as to delete the file and bring it back in, but there's no difference. Oddly, the project will usually compile just fine but it's unreliable. Any ideas?

klem_johansen
Jul 11, 2002

[be my e-friend]

xgalaxy posted:

You can use MAC address if you don't care about security, or don't care that jail broken devices can change it. Though I wouldn't be too terribly surprised if access to MAC gets restricted too, since it's an obvious fallback solution for ad tracking purposes.

If you need something like UDID, and all the apps you need it for are submitted by the same developer account, you can generate a UUID instead and store in a key chain group. All the applications would need to share the same app seed id.

Alternatively, if on IOS 5, you could check for ACAccountStore accounts, currently only twitter, and use that for identification purposes. This is obviously a very poor substitute since not everyone would have a twitter account, so you would need some sorta fallback plan.

Failing those things, it seems some combination of UIPasteboard and keychain store is the best option. Since keychain data is not removed when the app is uninstalled you can use this to your advantage. And then share whatever ID to our other apps via UIPasteboard. The obvious problem with this solution is if all the apps that rely on UIPasteboard are removed from the device, their pasteboards are removed, so any new app that wasn't previously installed will have no idea that an ID was already created.

Anyways, those are my thoughts.

Here's some code I've found:
- (NSString *)localUuid {
NSString *ident = [[NSUserDefaults standardUserDefaults] objectForKey:@"unique identifier stored for app"];
if (!ident) {
CFUUIDRef uuidRef = CFUUIDCreate(NULL);
CFStringRef uuidStringRef = CFUUIDCreateString(NULL, uuidRef);
CFRelease(uuidRef);
ident = [NSString stringWithString:(__bridge NSString *)uuidStringRef];
CFRelease(uuidStringRef);
[[NSUserDefaults standardUserDefaults] setObject:ident forKey:@"unique identifier stored for app"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
return ident;
}

I've been using this to track unique devices & usage behavior in an app. I've checked and the function does not return the actual UUID. Would that be OK to use or will Apple reject it?

klem_johansen
Jul 11, 2002

[be my e-friend]
Yay! Thanks.

klem_johansen
Jul 11, 2002

[be my e-friend]
Does anybody know anybody reliable who can port an iPhonei/iPad app to Android? It's a children's game I'm working on and the client wants an estimate to port to Android devices. The handful of Android devs I know haven't replied to repeated emails & phone calls requesting a quote. It's a common problem, I understand, not exclusive to the Android community.

klem_johansen
Jul 11, 2002

[be my e-friend]
if you want to allow the user to download levels for a game, is there a standard method for that?

I'm thinking of using zip files with graphics & xml files and then unzipping them after download. Does that sound OK (as long as my naming convention is rock solid)?

klem_johansen
Jul 11, 2002

[be my e-friend]
For downloadable content via in-app purchases, I had anticipated just downloading the content from a server. However, security is a concern. Is there a commonly used method for securing the content so it's not pirated? Naturally, it would seem that the content wouldn't do a user any good if they can't get it into the app itself or force the app to install the content in sqlLite- but still. Has anyone encountered this concern?

Also, I'm making an app in which levels are comprised of what you might expect, an xml file with loads of small graphics. Does it make sense for the downloadable content to be zip files that are unpacked inside the app or would it be best to download the files separately?

klem_johansen
Jul 11, 2002

[be my e-friend]
Good advice. I was planning on saving an index of the content in SqlLite so if they put the info in the DLC folder they still wouldn't be able to run it unless the content was obtained properly.

klem_johansen
Jul 11, 2002

[be my e-friend]

Doc Block posted:

SQLite databases are trivially easy to modify, though. There are a number of programs for opening and modifying SQLite databases. The SQLite source code even comes with a command line app that will let you open a database and run SQL commands on it. And since the cracker will almost certainly have a terminal app or an SSH daemon installed, they don't even need to copy your database to their computer to modify it.

That's why I suggested storing it in the keychain instead.

Good idea. Thanks.

klem_johansen
Jul 11, 2002

[be my e-friend]
[oh wait]

klem_johansen fucked around with this message at 21:01 on Jun 17, 2012

klem_johansen
Jul 11, 2002

[be my e-friend]
I'm getting weird crashes in an iPad app.

It's basically a kid's book with lots of animation and giant images. I'm using ARC and doing all the stuff I know to do in memory management such as setting IBOutlet UIImageViews to nil (foot.image=nil) in the didunload function, AVAUDIOPLAYER sounds as well.

All my property declarations are nonatomic,strong. Could that be a problem? Weak gives me an error.

Should I be declaring any and all graphics in the XIBs so ARC can trash them when thew viewcontroller is unloaded?

Another weird thing. I'm not seeing any real errors in the console when it crashes (which it does at seemingly random spots once I've paged through it for a while) and no memory warning messages.

klem_johansen
Jul 11, 2002

[be my e-friend]
Some practices have changed so I want to make sure I'm formatting my headers correctly.

The way I learned iOS, for IBOutlet stuff we added two references, one inside the interface and then another outside the brackets where you add a @property line with the nonatomic,retain info.

For example:

@interface fooViewController : UIViewController{
IBOutlet UIImageView *bar;
}
@property (nonatomic,retain) IBoutlet UIImageView *bar;

I've seen some tutorials that imply that it's not necessary to have the earlier declaration and it messes up attempts to use "weak" properties. This is for an app where the views are like pages in a book, so when they go away I need them to go away for good because the images are huge.

@interface fooViewController : UIViewController{
}
@property (nonatomic,weak) IBoutlet UIImageView *bar;


Does that look right or am I insane?

klem_johansen
Jul 11, 2002

[be my e-friend]

Doc Block posted:


edit: If you're going to have a lot of huge images, you're going to have to think of a better way to manage them than just making each page be its own XIB and hoping you don't run out of memory.

Thanks. Here's what I have never understood about memory management. Once a viewcontroller (in this case a book page) is out fo the picture I need to eliminate all of its elements from memory. When and if the page comes back up, the app should recreate it anyway.

In the past I just set all my IBOutlet objects to nil in the didunload, and in the viewcontroller that handles the navigation I remove the previous view and set its view to nil. It's a technique that has worked find for me in the past.

When I look at the memory graph in Instruments the allocations just pile up until it gets into memory trouble.

Edit: I think ARC is doing its job. When I run through the book's first half over and over I don't get a crash but if I run through the last half several times I do. That tells me I have something I didn't put away properly- maybe.

Is there a big memory management difference between these approaches:

A) declare my IBOutlet imageviews,labels & buttons in the header, synthesize them and set them to nil in the didunload

b) Use tags to use temporary imageviews,labels & button references to do what I need and trust ARC to trash them.

*UIImageView *tmpImage=(UIImageView *)[self.view viewWithTag:605];

Is there an inherent difference between these? Maybe there isn't if I remember to set tmpImage to nil at the end of the function?

klem_johansen fucked around with this message at 17:19 on Sep 2, 2012

klem_johansen
Jul 11, 2002

[be my e-friend]
I'm running into a weird issue with SQLite. It works fine for a certain number of database calls and then fails. I can run the app several different ways and the error seems random. The fact that it always seems to fail (even in the simulator) after a certain number of database calls tells me that I'm doing something wrong in my db calls. I'm using a subclass for my sql calls. Here's a typical example of a function (assuming sqlite3 *db" is in the header).

....

Edit: never mind. I found a DB call inside of a function that also calls the DB. Opening the sqlite file while it's already open causes issues. I made sure we finalized each call before closing the db and it looks like that fixed it.

klem_johansen fucked around with this message at 21:56 on Nov 13, 2012

klem_johansen
Jul 11, 2002

[be my e-friend]
I've got a client who wants ios6 features but refuses to leave out the iPad 1 market segment by leaving ios5. For now I'm keeping them at ios5.1 but at some point soon they won't have a choice, right? We'll all be forced to leave the original iPad behind. Is that the long and short of it?

Adbot
ADBOT LOVES YOU

klem_johansen
Jul 11, 2002

[be my e-friend]
I've recently finished an app that uses uiwebview to embed YouTube & Vimeo trailers. The method displays the video summary page and a play button. The user clicks the play button and the video plays full screen on the phone. It works fine on every phone I've tried. Except- the new iPhone5 I'm now testing on won't play audio for some reason. The same YouTube/Vimeo links play with audio if I get to them from Safari.

I haven't seen this reported as a bug or anything, so I can't be sure what's going on.

code:
-(void)embedYouTube{
    CGRect frame = CGRectMake(0,0, self.view.frame.size.width,self.view.frame.size.height);
    UIWebView *videoView = [[UIWebView alloc] initWithFrame:frame];
    videoView.backgroundColor = [UIColor clearColor];
    [self.view addSubview:videoView];
    [videoView setDelegate:self];
    
    NSURL *websiteUrl = [NSURL URLWithString:sharedSingleton.hff_trailer_url];
    NSURLRequest *urlRequest = [NSURLRequest requestWithURL:websiteUrl];
    [videoView loadRequest:urlRequest];
}

I had been doing the iFrame approach but it worked fine to just embed the primary youtube & vimeo links. For example: https://vimeo.com/72671611

Edit: If I can't solve it I can probably add something that checks if the device is an iPhone5 then open the YouTube/Vimeo link outside the app. That isn't what the client wants, but if it's a bug or something I have to work around, that may be the way I have to do it.

klem_johansen fucked around with this message at 16:23 on Sep 23, 2013

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