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
Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice
I have seen people claim that AirPlay is an open protocol and I've also seen people claim there are apps out there that can stream pictures to AppleTV.

What I haven't found is an actual specification for the AirPlay protocol. Does anyone know if it is documented anywhere? I'd like to send pictures specifically but as far as I know that isn't supported in the SDK.

Adbot
ADBOT LOVES YOU

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice
For simple stuff like settings you can use NSUserDefaults.

It is also trivial to serialize plists.

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice

pokeyman posted:

Stuff

I second this motion. The problem with CoreData is the same problem I have with the whole framework as compared to something like C#... I end up writing the same boilerplate over and over (and so does everyone else).

Everyone ends up writing unique ID generation stuff. Everyone rewrites pulling all of the same object out. Everyone rolls their own undo. No generics or custom typing of properties so everyone has a different solution for dealing with the fact that all your bools, floats, and ints end up as NSNumbers.

Still, I do use it.

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice

fankey posted:

I'm trying to create a write-only property. If I just define the set* method like this

and then attempt to access it
code:
Foo* someFoo;
someFoo.Bar = @"this is a test";
The complier complains that 'Request for member 'Bar' is something not a structure or union'. If I add an accessor function it works fine.

I'd rather not have a bunch of dummy accessor functions that return garbage since I'm not storing the state - it gets passed on to another layer. Is there a way to implement write-only properties?

No there is not. It only supports readwrite and readonly @property declarations, though the usefulness of a write only property is debatable, since your code should be using the getter inside the class anyway.

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice

fankey posted:

Apparently I kicked the write-only property hornets nest. I was mainly curious as to why it didn't work. Is it an intentional design choice in ObjC to fail so one cannot create write-only properties or is it a side effect of how properties are implemented?

The Property Declaration docs state that you must have both a setter and getter. Since I wasn't declaring the property explicitly I was surprised I got an error.

Objective-C explicitly calls out no write-only properties, as I stated in my earlier post.

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice

Small White Dragon posted:

You can create a write-only property (and it will work), if you provide the implementation, although as noted elsewhere it's probably bad form.

In any case, you can do it with one of the following:

code:
@dynamic property;
- (void)setProperty:(type)val
{
     _property = val;
}
or

code:
- (type)property
{
    NSLog(@"This property is write-only.");
    [self doesNotRecognizeSelector:_cmd];
    return 0;
}

- (void)setProperty:(type)val
{
     _property = val;
}


Again, this is just faking it by not responding to the dynamic getter invocation or by directly throwing "doesNotRecognizeSelector" from the getter implementation. The IDE won't identify an attempt to get that property as invalid because the compiler believes you are adhering to the spec by providing a getter at runtime (due to @dynamic).

You are far better off avoiding these sorts of tricks and just adding setXYZ methods (without trying to use property syntax) or by providing actual getters. At least in my opinion, attempts to be "clever" in code tend to backfire because later on you forget the clever stuff you did or if someone else needs to maintain it they can't follow it, etc. This is free advice though so I guess it's worth what you pay for it.

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice

Vanan posted:

Has anyone had positive experiences working with multi-target mobile development platforms? (ex. Airplay and others)

Well I am a C# dev by day, so I've used mono-touch which is pretty cool and I looked at other toolkits but part of the process for me was wanting to learn the native toolset so I just bit the bullet and learned Objective-C.

Maybe some others here can speak more to developing for multiple mobile platforms at once but so far everything I've heard says iOS is where the money is.

As far as games go, the Unreal SDK is now free up to 50,000 in revenue and supports all the major mobile platforms IIRC so there's that.

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice

aehiilrs posted:

My (company's) app was approved in just under a week. It's such a great feeling to finally have an app on the app store.

How long does it usually take for stuff to show up in the app store search?

A couple of hours at most (in my experience).



Does anyone know of a framework that handles options, whether via NSUserDefaults or via CoreData? Duplicating the Settings app (both on iPad and iPhone) seems to be boilerplate that tons of apps need to re-invent.

If there isn't one I was thinking of trying to create one that drives off a specific CoreData schema and understands various data types, eg: within each Category there are either other categories or option items. Ones marked boolean use a switch accessory view, others might have a list of allowed values or an allowed numeric range, etc. Ones marked with a custom flag would raise an event to the delegate to have the app provide a custom picker for that option item. Elsewhere in the app you could just ask for the current value for any given key and get it. Would there be any interest here in contributing code to that sort of project?

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice
I wish it was easier to run OS X under VMWare Fusion on Apple hardware... I'd love to test the new iOS5 and Xcode stuff but I means putting my current development system at risk by installing beta software. In theory it shouldn't matter to Apple since their main concern is selling the hardware (which I already own).

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice

xelfer posted:

Yeah I agree, I used to develop on my 2007 black macbook, but now OSX in VMWare on my i7 compiles faster than my macbook so I just use that.


Does anyone know off-hand if you have a beta xcode+sdk installed but target the latest official SDK, are there any problems submitting updates to the App Store?

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice

Choadmaster posted:

Interesting, but it looks to me like a "solution" to a nonexistent problem that only serves to increase complexity. Memory management is very simple and straightforward to begin with.

This is the most laughable thing I've ever read concerning writing software, anywhere, ever. A huge long history of nearly every non-trivial application people use having memory leaks, exploitable buffer overflows, et al proves this false.

When you trust programmers to "do the right thing" they will inevitably fail, either through malice, ignorance, incompetence, or plain ol' human error.

Frankly, if ARC encourages people to avoid problematic designs because they don't understand how to make the compiler shut up when they violate the ARC rules I'd count that as a net win.



Choadmaster posted:

The solution to that is, of course, garbage collection. That may still be a year or two out, but i'm sure it'll come before too long (well, maybe not if ARC is all it's cracked up to be!). The problem here is that newcomers still have to understand memory management in this case.

Doubtful. Unless you ignore backwards compatibility and make some safe guarantees about what is and isn't a reference (see C#, Java, et al), then you will always have a sub-par GC because you can't compact so you end up with memory fragmentation issues. The desktop GC gets away with ignoring this problem by just using more memory.

I might add that when you start mixing in C-style function calls into a GC environment you have to be aware of object lifetimes same as with ARC. In fact when you P/Invoke to native code from C# or drop into unsafe{} you had better be aware of that too. (Linq can also have side-effects as a result of lazy evaluation that you should known about). I don't see how ARC is any different in that regard... in fact I just fixed a Linq bug that was caused by a try/finally tearing down some state in the finally block that the try block used in a Linq query, which thanks to deferred execution caused a failure later in the program because the finally executed before the Linq lambda did. That doesn't mean people should abandon the compiler magic that makes Linq and lambdas work.

The point is that ARC reduces the amount of boilerplate code you need to write. Since every line of code written is the potential for a new bug, anything that reduces the number of lines you need to write is a net win.

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice

Choadmaster posted:

I didn't say it was foolproof. I said it seemed to me that human error is might simply be amplified when people start thinking they can ignore those altogether because they think the compiler is going to handle it all for them - when in fact they DO still need to be aware of the memory management rules AND (now) where the compiler can and can't handle it properly. I also acknowledged I had zero actual experience with it, and flat-out asked more experienced people to comment on my speculations. No need to be a pompous dickwad about it.

Well I think an objective observer would tag the statement that memory management is easy to be at best naive and I think it rubbed a lot of people the wrong way. I'm not trying to be a dick.

I also pointed out a situation where compiler magic led to a bug, but that bug exists whether I manually manage memory or not. People will adjust and the odds that they weren't leaking memory before or weren't exposing exploitable holes is very small if the rules of ARC are that confusing to them.

Simulated fucked around with this message at 06:05 on Jun 18, 2011

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice
Anyone used an html page and web view for their app help file? I can muddle my way through design but I'm really just looking for a product, template, or whatever that will make it easier to create a page that doesn't look like absolute dog-crap. I've been scouring template sites but can't find anything suitable so far.

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice

Lumpy posted:

Simple is good. Send me your HTML and I'll make it purdy for you, since you've answered many questions of mine here.

Awww shucks ;-*

I will send you what I have and my sad attempt to make something more than 1996-esque html. Many thanks!


edit: Also, remember to thank your designers kids.

Simulated fucked around with this message at 18:41 on Jun 29, 2011

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice

Yodzilla posted:

I'm having some trouble with custom fonts being applied to button and I'm not sure what the best way to handle it is. In the interface builder I can choose the font for a button but it's reading from the fonts that I have on my system, not the fonts that the app has access to.

I've included the font file that I want to use as a Reference in my project and in the Info.plist I've added a "Fonts provided by application" array with one item, the name of the file in this case BerkeBol for Berkeley Bold.

It seems that selecting Berkeley Bold in the interface builder doesn't do anything as it just goes back to whatever the default is and trying to apply the font programatically doesn't seem to work either.

code:
theButton.titleLabel.font = [UIFont fontWithName:@"BerkeBol" size:22.0];
I've also tried setting the fontWithName value to longer names like "ITC-Berkeley-Oldstyle-Bold" which is the full Font Book name with spaces turned into dashes like I've read you're supposed to. I've tried it with just spaces and that doesn't work either.


I am doing this exact thing and it is working for me. Make sure:

1. The Fonts Provided by Application in info.plist must be the *exact* filename, including case and extension. If your font file doesnt have an extension, give it the correct one (tg: ttf).

2. The font name often doesn't match what you might consider a sensible value, so double-click the font file to open it in Font Book. Look at the title, which should be the "Family Name" of the font.

3. Now call [UIFont fontNamesForFamilyName:@""] with that title then log those array values to the console. That should tell you the real exact name(s) of the font to pass to fontWithName:. Use the names exactly as printed, case and all.

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice

Yodzilla posted:

stuff

You are welcome.

Also just for people who are new to the platform, that example code is weirdly allocating memory that isn't necessary. I know you didn't write it but I don't want people to see this thread and think you need to do that. This code is cleaner and faster:

code:
    for (NSString *familyName in [UIFont familyNames])
    {
        NSLog(@"Family name: %@", familyName);
        for(NSString *fontName in [UIFont fontNamesForFamilyName:familyName])
        {
            NSLog(@"    Font name: %@", fontName);
        }
    }
Specifically junk like this: "NSArray *familyNames = [[NSArray alloc] initWithArray:[UIFont familyNames]];" is totally unnecessary. familyNames is returning an auto-released array that is guaranteed to survive as long as your method is executing so why allocate memory for a new array just to copy the contents of the old array into the new array, that is then released? That's a lot of useless copying and the original array will still live until the autorelease pool is emptied at the end of the run loop anyway.

I can only guess the original author did that thinking the array from UIFont was going to disappear but that's not possible. Worst-case, you could send a retain message to the array (which retains all the objects it contains anyway) then release it later (or assign it to a retain property). But again, that's all a bit pointless.


ProTip #8273: "for(type name in collection)" syntax is much faster to execute than any other pattern and you should use it unless you explicitly need the numeric index of an object.

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice
Rhetorical question: Why is using iAds together with UITableViewController such a huge PITA, especially given how central table views are to iPhone apps and how heavily Apple pushes you to use UITableViewController?

You can't use header/footer because your app will be rejected (the Ad can't be scrolled offscreen).

You can't subclass UITableViewController or muck with its view hierarchy because it assumes that it's self.view and self.tableView are one and the same (and forces the tableView to take up the available space). Attempting to mess with this will crash or just make the table view invisible.

If you have your view controller inherit from UIViewController instead, you lose a whole bunch of built-in stuff. You have to manually clear selection when the view reappears, manually hook up the delegates, etc... but the biggest one is the view no longer scrolls to make text fields visible when the keyboard comes on-screen. I've searched and searched and there are about 10 different solutions to this problem involving mucking with content insets, moving the table view's origin, etc. All of which have problems (they need intimate knowledge of the table view contents to know when a first responder is activated/deactivated, they don't animate properly like the UITableViewController does, they don't handle all orientations, etc).

I wish I could create my own container view but that is verboten in the current SDK. It really seems like Apple needs a container that handles iAds automatically or needs support for non-scrolling headers/footers in UITableViewController/UITableView.

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice

Zhentar posted:

They do? I must have missed that. The UITableViewController is only like two dozen lines of code worth worth of minor convenience functions to make implementing a simple tableview easy. You really should just stop trying to force it into doing what you want and use a UIViewController regardless of what Apple is pushing.

Have you tried to duplicate it's keyboard scroll functionality when moving between UITextView cells? Perhaps I'm totally missing something here.

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice
If anyone is willing to help me beta test my next release of Storm Sim, please hit up http://bit.ly/kE81Fe. I will be happy to return the favor with your next project by testing it on an iPod Touch, iPhone 3GS, and iPad2.

I just need to check for bugs (and am always happy to entertain comments about the UI / user experience).


I think it would be awesome if we could get a little beta exchange thing going to help each other out.

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice

lord funk posted:

Bingo.

The idea of one controller per screen is really pre-ipad advice.

Don't get too caught up in the architecture stuff; When you create your custom subviews, they should expose an API that makes sense for that view (without caring about the why or logic behind it). Then the controller can interact with them as if they were text fields or any other control.

Your proposed design looks fine to me and if it becomes unmanageable, just refactor later.


edit: and I will also point out that echobucket's advice isn't wrong either... at some point it's just a design decision and if you try to force it to match some arbitrary "rule" you'll only make life harder on yourself.

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice

Ender.uNF posted:

If anyone is willing to help me beta test my next release of Storm Sim, please hit up http://bit.ly/kE81Fe. I will be happy to return the favor with your next project by testing it on an iPod Touch, iPhone 3GS, and iPad2.

I just need to check for bugs (and am always happy to entertain comments about the UI / user experience).

I think it would be awesome if we could get a little beta exchange thing going to help each other out.

Apparently everyone here has plenty of testers and devices? Seriously... no one is interested in a testing/beta exchange to help test each other's apps?

edit: one taker; Maybe we can get a wiki or something where we can list our current testflight teams or maybe the OP can keep the list. I've been thinking of trying to collect all my protips in one place as well.



McFunkerson posted:

I just found a cool little App called MajicRank that keeps track of your AppStore top 200 ranking position in multiple stores world wide.

Is there anything that will do the same thing, but with reviews and supports the Mac App Store? I tried googling but I could find links to websites that no longer existed.

Apple should really have something for store reviews in iTunes Connnect. It's a fairly important thing, and it's a pain changing your store location and find your app for every country.

I use AppFigures.com; it cost money if you want it to be really useful (like auto-downloading from iTC every day) but it is worth it to me. I lost a few days of sales reports when Apple changed iTC and the app I was using just silently said there were no reports to download.

Simulated fucked around with this message at 23:35 on Jul 8, 2011

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice
I'm setting up a wiki, I will post more soon.

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice
Where Xcode 4 changed things it tended to make them more sensible and straightforward, so don't be afraid of jumping into the fray.


quote:

You guys are awesome.

I want to second this; thanks to lumpy for helping me with my help file, and thanks to everyone else who has dispensed advice.



Also Storm Sim v3 is in review right now. :ohdear: It's like an addiction or something, waiting for approval and waiting for sales numbers.

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice

Siguy posted:

Xcode 4.1 appears to be free now. No more $5 fee for non-developers.

Edit: Though it does require Mac OS X Lion.


Just for those who aren't aware, this is due to how Apple does their accounting. Time spent developing a feature after the sale can't be charged as expenses to that revenue since it was already recognized but it can't go in the bucket for the next version either since you are releasing it to a bunch of versions so you end up spending money on something without being able to deduct it from your taxes.

Apple has started holding back revenue from all their products so when they do new features after the fact they can charge part of that development against the held-back revenue. That's why the original iPod update and Airport Extreme stuff cost a few bucks to enable but newer features don't... Apple holds back about $15 from iPods and iPhones and about $30 from macs, leaving that money in limbo instead of reporting it as profit so when they release the iCloud stuff for free they can deduct all the cost of developing and running iCloud from that held-back revenue, meaning they can take it off their taxes.



Speaking of... Pro Tip #5823: for all of you making money from your apps, you are probably using cash accounting so you can't use tricks like that but you can and *should* be keeping track of all your expenses so you can write off part of that income on your taxes. And since you are using your mac as a dev machine to generate revenue, a new HDD/monitor, etc all counts as a business expense. Develop iPhone apps? Your cell phone plan and phone are a business expense. A portion of your internet access is also a business expense. Setup a spare room in your house/apt as an office? Part of your house is a deductible business expense.

Keep receipts/bills and track everything. You will save a bunch of money come tax time.

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice

lord funk posted:

You do need to get a good accountant. I didn't get anything until I found a guy that knows how tax law works for musicians. It is tricky, though. For example, the 'spare room' thing is true if it is only used for business, and since it's based on square footage, you can't just start deducting the living room.

Do you all do tax withholdings with your payments from Apple, or not?


I don't do tax withholding for various reasons. You are definitely correct - if you have assets that you use for business and non-business you can only deduct the business percentage from your taxes.

Simulated fucked around with this message at 19:07 on Jul 21, 2011

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice
Do not examine retainCount or pay any attention to it whatsoever. It is the most dangerous form of madness, guaranteed to lead you down the path of destruction.

When an object is being deallocated, what is the point of maintaining retainCount?
Answer: Nothing! by definition, touching a reference after it is deallocated is an invalid operation. Therefore by definition any ivar can return any and all possible values because you are touching memory you promised not to touch. It is no different than saying MyObj *o = (MyObj*)(void*)0x82498384; What is at that memory address? who knows! If you're lucky you'll get an immediate crash.


Second, [[Partner alloc] retain] is not a valid initialized object because you never called init. An alloc'd object is already retained automatically. You should be calling [[Partner alloc] init]. So again, by definition, you can have *any* behavior because you are doing stuff that makes no sense.

Further, a +create method like that should be returning the object autoreleased, so you should be doing [[Partner alloc] init] autorelease]. Then the code that receives the object should retain it if it needs to (placing an object in an array retains it).


You have some serious memory management issues going on and I would suggest reviewing the memory guide, running the Analyze option in Xcode, run the Leaks Instrument, then run with malloc debugging enabled. That should help you track down your memory management issues.

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice

lord funk posted:

I have 4 gigs of RAM.

I turned the GDB debugger off - that has stopped the problem. I don't have a debugger, but at least I can work a little more today. Tomorrow I'll reinstall Xcode.


I had this stuff happening when I had the Xcode beta installed; it was the system tools being all jacked up. Reinstalling Xcode should fix it, but you may want to go through the command-line uninstall procedure to make sure it completely removes the system tools first.

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice
That's definitely the more flexible way of doing it... However why don't you just delete the object if the user doesn't hit save and the object is a new object?

The problem is the insert happens in memory and nothing you are doing deletes that inserted object. I presume the save fails because the new blank object doesn't satisfy some CoreData constraints you have in your model.


If you are trying to use the undo functionality, check out the CoreData guide and follow its directions to the letter or you will have endless trouble.

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice
Can't you just call setNeedsLayout? I would think that it just caches that and waits until the end of the loop to actually do the layout, but I'd have to test that to be 100% certain... It might happen immediately.

You can schedule something to happen at the start of the next run loop iteration by using [[NSRunLoop currentRunLoop] performSelector:target:argument:order:modes], if a slight delay is acceptable.

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice
If you set your target to 4.2 then you can only use 4.2 features and you can build for earlier versions. It isn't perfect but it is pretty good. Personally I've just installed the earliest version of Xcode I want the SDK for, then upgrade each one to the next. That will leave you with multiple SDK versions installed.

Apple really should offer that automatically, along with letting developers downgrade test devices... But they'd rather just force everyone to upgrade and I understand that point of view too.

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice
Man, I'm creating a new account for an LLC and the hoops you need to jump through are amazing. They now want notarized copies of the partnership agreement. Why the Secretary of State's letter accepting the LLC isn't enough I'll never know...

So word to the wise kids... You'll need the following to open a corporate developer account:

+ SoC letter/acknowledgment of your LLC formation
+ Partnership or operating agreement, signed and notarized
+ A letter on company letterhead stating who you are and that you are authorized to sign legal agreements on behalf of the company along with your contact information


They also prefer everything to be faxed for some reason, though scanned PDFs emailed have worked so far but the fax line should be active this week so I can start faxing documents on paper (?).

Another protip: If you have business FIOS (which I need for my static IPs), you can get a phone line for free right now, at least compared to my old plan. For the same price as my 25/15 I can get 25/25 + phone line. For $2/mo more I can get 35/35 + phone line. I'm almost certain this is due to the massive decline of the wireline business. This will be the first time I've ever had a landline in my adult life.

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice

lord funk posted:

Does it bother anyone else that using 'genstrings' to create localized strings doesn't use the comments to initially assign the string? IE - it will use:

/ * This is the string. */
"kThisIsTheString" = "kThisIsTheString"

instead of

/ * This is the string. */
"kThisIsTheString" = "This is the string. "



That's because the key is supposed to be the original string and the comments are literally just comments for the translator to use to assist with translation. I don't like this system personally because it can result in duplicate keys (the same english word) where a different language will require different words. I'd much rather have the macro take a true arbitrary key, the default text, then comments.

I'm sure this design comes from years and years ago and it seems to make much more sense when you think about how it deals with XIB/NIB files.

I'm sure you could do what you want by having a post-gen program that uses the comments to create the english translation so you can stick to arbitrary unique keys.

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice
It really seems like Apple needs to update AppKit to get with the times. They also need a way to let you run UIKit apps on the Mac.... I predict a Mac version of UIKit that makes it much easier to port.

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice
Piracy is a difficult one if someone is determined but in reality most apps are pirated by script kiddies running a packaged cracker and they have no clue... So if you implement the various pirate checks but let the app run, just causing it to gently caress up here and there they most likely won't notice. They are typically just trying to download and crack as many apps as possible to ++ their e-peen.

As far as I am aware since the legit Apple ecosystem is so standard and controlled there is an extremely low false-positive rate but YMMV.

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice

pokeyman posted:

If the .m file gets compiled and linked (i.e. has a target in Xcode), the class gains the methods. The .h file simply tells the compiler about the methods defined therein. If you want to keep the category methods out, remove the .m from the target.

Correct, the binary is scanned for categories when it gets loaded and the categories are patched in at that time. In fact all of the code included in the target can potentially be compiled into the binary and loaded into memory, even if you never call it or reference it anywhere else.

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice

DBFT posted:

[SomeVLCClass class] didn't do it. I need to figure out the least I can do while still getting it to import I guess...

If you are using the AV framework stuff, new up a player with a blank video and send it the prepareToPlay message - that will force the framework to initialize A/V stuff. You don't actually have to play anything or show the player (IIRC).

I do this for Storm Sim on a background thread to get audio initialized quicker.

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice

Sewer Adventure posted:

Here's something I learnt today:
code:
[super class] != [self superclass]
So super is just self that calls methods in the superclass instead? Makes sense I guess.


Well super will walk the chain, it doesn't actually have to reference the direct parent of the current class. Could that be what you are seeing?

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice

newreply.php posted:

Hey, anyone else attending the iOS5 tech talk in Berlin on tuesday here?

I signed up for Austin right when it was available and I have an app in the store but I got rejected. I think Apple is hand-picking people to attend, I don't think it is first come first served or a lottery... So I would guess a lot of people that wanted to go did not get picked.

I know several other people in the same boat and there's been a lot of grumbling about how it was handled.

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice

Sewer Adventure posted:

C++ is an abomination,

Fixed that for you.

C++ has to be the most obtuse way to add object-oriented concepts to C, with a healthy dose of "why support X in the language when we can just have 15 libraries that implement it differently!".

Adbot
ADBOT LOVES YOU

Simulated
Sep 28, 2001
Lowtax giveth, and Lowtax taketh away.
College Slice

lord funk posted:

If you wanted to learn Core Audio, you may have noticed this Core Audio book under its current name or another.

It will never come out. It has been on pre-order for (not joking) 3 years now. Look elsewhere.

Sup Core Audio black art buddy. I missed the promo codes but congrats on your app release!

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