Re: Re[2]: NSApp problem outside of bundle
Re: Re[2]: NSApp problem outside of bundle
- Subject: Re: Re[2]: NSApp problem outside of bundle
- From: Kyle Sluder <email@hidden>
- Date: Mon, 29 Jun 2009 15:36:54 -0700
On Mon, Jun 29, 2009 at 3:20 PM, Peter
Mulholland<email@hidden> wrote:
> Monday, June 29, 2009, 9:17:35 PM, you wrote:
>
>> Woah... this is kinda nuts.
>
> How exactly?
Because it directly violates quite a few requirements of working on OS
X? And you're resorting to pretty convoluted workarounds to try to
get things working again. That should be a pretty good clue that
you're doing things incorrectly.
>> 1) Applications need to be in their own app bundle.
>
> Really, this isn't an application, its a component. There's probably a better way to do it, but I can't think of one.
You need NSApplication? It's an application. It needs its own
bundle. That bundle can live in Resources (or this mythical, unnamed
"Support" directory referred to in the code signing documentation).
>> 2) Don't fork/exec to launch an application. Use LaunchServices instead.
>
> At the low level that this is executed, only BSD stuff is usable. This stuff is executed before main() is even called.
Then perhaps you should be considering a refactor.
>> 3) Your "protection" will be easy to break, and probably won't play
>> nice with code signing. Is it worth the effort?
>
> Our app's aren't code signed and are Intel only.
> We're a games dev company, so yes, it's worth the effort.
You don't know what Apple has in store for code signing requirements
on post-Leopard operating systems. It is known that code signing
requirements will be stricter in the future than they are now. How
and when is still unknown, but trying to decrypt and execute an
application like this might result in irking the security gods.
Frequently people come to this list asking for help with their
copy-protecting scheme. The consensus is that it is not worth the
time and money you will invest in the process, or the frustration you
will (not may, will; I dare anyone to prove that there is absolutely
no circumstance under which their copy protection can fail) cause for
your users. Meanwhile, someone's going to strip off your copy
protection, upload your game to the web, and pirates who never would
have purchased your game in the first place will enjoy it hassle-free.
By all means, make a pass at it. Do a simple check on startup, and if
it fails, guilt and shame the user into purchasing the app. But
attempting to intervene in the loading process is not going to bode
well for your code health.
--Kyle Sluder
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden