[sword-devel] OS X/iPhoneOS based development

Manfred Bergmann manfred.bergmann at me.com
Mon Jun 14 10:59:56 MST 2010


Hi Greg.

I was always using a makefile compiled library. However creating multi-architecture builds (i386, x86_64, ppc) was always kind of a hassle.
This is very easily done by Xcode because it compiles for all targets and combines the builds and I'm actually quite happy that I can use this now.
How is this done with CMake?


Manfred


Am 14.06.2010 um 18:51 schrieb Gregory Hellings:

> Manfred,
> 
> My CMake build system is supposed to support iPhone configurations. It would keep you from having to update your xcode poject every time files are changed, etc. I have built the library succesfully against the simulator files using my CMake configure, but have not had any takers on actually testing the library against an actual app.
> 
> --Greg
> 
> 
> 
> On Jun 14, 2010, at 11:52 AM, Manfred Bergmann <manfred.bergmann at me.com> wrote:
> 
>> Troy, I'd like to put this into this bindings folder.
>> If you could create a "objc" folder there and give me commit rights? I'm almost finished creating a proper Xcode project.
>> 
>> 
>> 
>> Manfred
>> 
>> 
>> Am 16.04.2010 um 07:58 schrieb Troy A. Griffitts:
>> 
>>> These all sound like good suggestions.  Manfred, let me know what you
>>> decide and I'll either give you access to sword/bindings/objc or create
>>> a repository for you.
>>> 
>>> Troy
>>> 
>>> 
>>> Peter von Kaehne wrote:
>>>> Would not the natural place be the bindings directory in the engine?
>>>> 
>>>> 
>>>> 
>>>> Nic Carter wrote:
>>>>> I suggest you put it in a specific place in your MacSword SVN (or
>>>>> Bazaar if that's what you use now?) and I can access it from there.  :)
>>>>> 
>>>>> On 16/04/2010, at 2:32 AM, Manfred Bergmann wrote:
>>>>> 
>>>>>> Alright then.
>>>>>> Can anyone with the proper rights create a Subversion folder? Or do
>>>>>> we use Bazaar? I switched over to Bazaar. :)
>>>>>> I believe I'm admin in Jira so I can create a project there myself.
>>>>>> 
>>>>>> 
>>>>>> Manfred
>>>>>> 
>>>>>> 
>>>>>> Am 15.04.2010 um 10:30 schrieb Nic Carter:
>>>>>> 
>>>>>>> Hi Manfred,
>>>>>>> 
>>>>>>> This all sounds good.  :)
>>>>>>> 
>>>>>>> Just one quick thing, though:  PocketSword will be one app that
>>>>>>> works on both iPad and iPhone/iPod touch.  I was looking at this
>>>>>>> today and I think this will be the best way forward. Apple have
>>>>>>> designed everything so that this is easily possible, with one
>>>>>>> codebase...  :)
>>>>>>> 
>>>>>>> Oh, and to answer your question about NSUserDefaults, yes, that's
>>>>>>> there!  I have just added unlocking of modules to PocketSword, which
>>>>>>> will be available in v1.2.2 (currently in beta), and that works
>>>>>>> great using the code in SwordModule.mm  :)
>>>>>>> 
>>>>>>> Thanks for this work, Manfred!  :)
>>>>>>> ybic
>>>>>>>  nic...  :)
>>>>>>> 
>>>>>>> ----
>>>>>>> Nic Carter
>>>>>>> PocketSword Developer - an iPhone Bible Study app
>>>>>>> www: http://crosswire.org/pocketsword
>>>>>>> iTunes: http://itunes.apple.com/app/Pocketsword/id341046078
>>>>>>> Twitter: http://twitter.com/pocketsword
>>>>>>> 
>>>>>>> On 15/04/2010, at 7:15 PM, Manfred Bergmann wrote:
>>>>>>> 
>>>>>>>> Hi there.
>>>>>>>> 
>>>>>>>> Now with the iPad already released in USA and in other countries
>>>>>>>> shortly I'd like to push for a consolidation of the Objective-C++
>>>>>>>> SWORD wrapper classes.
>>>>>>>> Which over time has grown quite large consisting of 20 classes in
>>>>>>>> the version MacSword uses. Just for an explanation to others, they
>>>>>>>> build the basis for SWORD based OS X applications and are intended
>>>>>>>> to be able to code in Objective-C exclusively in upper levels of
>>>>>>>> the application (UI).
>>>>>>>> PocketSword uses a subset of those classes with some modifications.
>>>>>>>> 
>>>>>>>> Now shortly since I believe we will again branch for the iPad
>>>>>>>> because it will be a different UI eventually I feel that we have to
>>>>>>>> do something now. Otherwise we will end up having to maintain three
>>>>>>>> code bases which could be one. And it will be a mess.
>>>>>>>> 
>>>>>>>> Since MacSword 2.2 was released recently I have some time now to
>>>>>>>> work on this.
>>>>>>>> I would suggest to make a framework of the Objective-C wrapper
>>>>>>>> classes which can then be used in any OS X (Cocoa) based
>>>>>>>> application just as easily as other frameworks can be used. It
>>>>>>>> would still be necessary to have different builds for ARM and
>>>>>>>> Intel/PPC and Xcode projects but those can use the same code base.
>>>>>>>> If any user of the framework needs customised behaviour it is still
>>>>>>>> possible to subclass if really needed.
>>>>>>>> 
>>>>>>>> The things that need closer look are:
>>>>>>>> - Make it work in gc and none-gc environments.
>>>>>>>> In MacSword 2.2 refactorings I tried to put in -dealloc and
>>>>>>>> -finalize methods in all classes I touched together with
>>>>>>>> autoreleased initialisations.
>>>>>>>> - Logging.
>>>>>>>> This might need some time. While I would like to be able to write
>>>>>>>> logs to file with specifying log levels this is not something the
>>>>>>>> iPhone/iPad wants due to slower FS access. But I'm sure there is a
>>>>>>>> solution to this. If some protocols are defined each front-end can
>>>>>>>> still implement it's own logging implementation.
>>>>>>>> - Code that uses NSUserDefaults.
>>>>>>>> Right now keys for locked modules are stored in NSUserDefaults. Is
>>>>>>>> this something that works on iPhoneOS?
>>>>>>>> - Searching/indexing.
>>>>>>>> While the iPhone uses the SWORD provided clucene based indexing and
>>>>>>>> searching MacSword uses SearchKit.
>>>>>>>> This not a problem at all but we have to define a protocol where
>>>>>>>> each application can implement a provider.
>>>>>>>> - Further we would need a place to source control it. Can we have a
>>>>>>>> place for it at CrossWire including a new project in Jira?
>>>>>>>> 
>>>>>>>> Comments?
>>>>>>>> 
>>>>>>>> Nic, if you are busy with things for PocketSword right now, don't
>>>>>>>> worry. I would start working on this, compare both code bases and
>>>>>>>> would start a discussion with you about things I'm uncertain - if
>>>>>>>> you give your "go" to do this all.
>>>>>>>> I'd also like to finally put in some Unit tests for critical parts
>>>>>>>> so that it can be tested more easily. Unfortunately Unit testing is
>>>>>>>> not so comfortable in Obj-C as it is in Java.
>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>>> Manfred
>>>>>>>> 
>>>>>>>> _______________________________________________
>>>>>>>> sword-devel mailing list: sword-devel at crosswire.org
>>>>>>>> http://www.crosswire.org/mailman/listinfo/sword-devel
>>>>>>>> Instructions to unsubscribe/change your settings at above page
>>>>>>> 
>>>>>>> _______________________________________________
>>>>>>> sword-devel mailing list: sword-devel at crosswire.org
>>>>>>> http://www.crosswire.org/mailman/listinfo/sword-devel
>>>>>>> Instructions to unsubscribe/change your settings at above page
>>>>>> 
>>>>>> _______________________________________________
>>>>>> sword-devel mailing list: sword-devel at crosswire.org
>>>>>> http://www.crosswire.org/mailman/listinfo/sword-devel
>>>>>> Instructions to unsubscribe/change your settings at above page
>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> sword-devel mailing list: sword-devel at crosswire.org
>>>>> http://www.crosswire.org/mailman/listinfo/sword-devel
>>>>> Instructions to unsubscribe/change your settings at above page
>>>> 
>>>> 
>>>> _______________________________________________
>>>> sword-devel mailing list: sword-devel at crosswire.org
>>>> http://www.crosswire.org/mailman/listinfo/sword-devel
>>>> Instructions to unsubscribe/change your settings at above page
>>> 
>>> 
>>> _______________________________________________
>>> sword-devel mailing list: sword-devel at crosswire.org
>>> http://www.crosswire.org/mailman/listinfo/sword-devel
>>> Instructions to unsubscribe/change your settings at above page
>> 
>> 
>> _______________________________________________
>> sword-devel mailing list: sword-devel at crosswire.org
>> http://www.crosswire.org/mailman/listinfo/sword-devel
>> Instructions to unsubscribe/change your settings at above page
> 
> _______________________________________________
> sword-devel mailing list: sword-devel at crosswire.org
> http://www.crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page




More information about the sword-devel mailing list