gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Substitute classes


From: Gregory Casamento
Subject: Re: Substitute classes
Date: Thu, 17 Mar 2011 10:12:55 -0400

Anyway... enough with the license mumbojumbo...

Unfortunately, what you're seeking to do isn't possible anymore under
Mac OS X or under iOS.

There used to be a method on NSObject called "poseAsClass:" but it was
deprecated in 10.5 (this method still exists in GNUstep, by the way
guys...).

I believe it was removed because it is a *significant* security risk.
 There might be some things you can do directly with the runtime, but
I believe that these functions were also removed.   The only
alternative I can see is directly manipulating the Objective-C data
structure which associates class names to the classes themselves.    I
have never done that before, so I'm not sure how it could be achieved.

Later, GC

On Thu, Mar 17, 2011 at 10:07 AM, Gregory Casamento
<address@hidden> wrote:
> David,
>
> There *is* an issue if code is incorporated directly.   Dynamically
> linking doesn't mean you need to release your code, but pulling code
> directly into an app or other codebase does.
>
> Of particular concern is that there is no such thing as a shared
> library under iOS.  All libraries and code on the iOS platform are
> statically linked.
>
> GC
>
> On Thu, Mar 17, 2011 at 9:49 AM, David Wetzel <address@hidden> wrote:
>> Hi
>>
>> I ported the baseadd stuff to iOS.
>> My MacBook pro is currently on repair (nvidia issue) when it's back I can 
>> start committing.
>>
>> Gnustep is LGPL.
>> So there is no issue.
>>
>> Dave
>>
>> Von meinem iPhone gesendet
>>
>> Am 16.03.2011 um 17:18 schrieb Gregory Casamento <address@hidden>:
>>
>>> Yes, it is possible.  You can use the Objective-C 2.0 runtime to
>>> change the implementations of certain methods in those classes:
>>>
>>> http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ObjCRuntimeRef/Reference/reference.html#//apple_ref/c/func/method_exchangeImplementations
>>>
>>> More things you should be aware of...
>>>
>>> What you should be aware of is that GNUstep is LGPL 2.1 or later
>>> licensed software.   While simply linking with GNUstep's libraries
>>> wouldn't cause you to need to release your software under the LGPL,
>>> directly incorporating code from the project would since it would be
>>> considered a "combined work."
>>>
>>> Normally, this would be fine (assuming you're okay with releasing your
>>> code), but Apple's terms of service for the App Store place
>>> restrictions on distribution which is not compatible with the LGPL/GPL
>>> license.   While Apple, to my knowledge, has never removed an app
>>> because it was GPL'd or LGPL'd, the members of the VLC project
>>> voluntarily removed their app from the store due to licensing concerns
>>> raised by the FSF.
>>>
>>> While I realize this is not the answer you were hoping for, I hope it
>>> helps somewhat.
>>>
>>> GC
>>>
>>> On Wed, Mar 16, 2011 at 2:56 PM, Daniel Brajkovic <address@hidden> wrote:
>>>> I want to substitute certain Cocoa classes, in particular, those related 
>>>> to distributed objects ("DO"), with GnuStep classes. How do I do that?
>>>>
>>>> Secondly, and this probably has the same answer as the first question. I 
>>>> want to include certain GnuStep classes into a iOS app, again those 
>>>> related to DO. iOS does not have DO functionality but I want to include 
>>>> for a particular app I would like to develop. Is that possible?
>>>> _______________________________________________
>>>> Gnustep-dev mailing list
>>>> address@hidden
>>>> http://lists.gnu.org/mailman/listinfo/gnustep-dev
>>>>
>>>
>>>
>>>
>>> --
>>> Gregory Casamento - GNUstep Lead/Principal Consultant, OLC, Inc.
>>> yahoo/skype: greg_casamento, aol: gjcasa
>>> (240)274-9630 (Cell)
>>>
>>> _______________________________________________
>>> Gnustep-dev mailing list
>>> address@hidden
>>> http://lists.gnu.org/mailman/listinfo/gnustep-dev
>>
>
>
>
> --
> Gregory Casamento - GNUstep Lead/Principal Consultant, OLC, Inc.
> yahoo/skype: greg_casamento, aol: gjcasa
> (240)274-9630 (Cell)
>



-- 
Gregory Casamento - GNUstep Lead/Principal Consultant, OLC, Inc.
yahoo/skype: greg_casamento, aol: gjcasa
(240)274-9630 (Cell)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]