tags:

views:

229

answers:

2

I want to add something (eg. the related city name) into the UI view when I make a phone call or received a phone call on iPhone. However, I can't figure out a good solution for this idea. Could anyone who has experience on this subject gives me some suggestions?

My currently solution is, try to write an extension based on mobile substrate and hook functions in SpringBoard. So many difficulties existed and following are my current big questions,

  1. How to develop such a extension? I downloaded some examples from google, unfortunately they cann't even be compiled on my toolchain.

  2. I can't figure out which ui view for the related screen I should use to insert my own component. I get header files of SpringBoard via class-dump, but no docs and no comments about its usage. Could someone share his discoveries with me?

  3. How to build a trusted cross-compiling enviroment on leopard? All kinds of confusing errors pop up when I try to build others's codes. I've tried Zdziarski's instrunctions in his book, it works with iPhone OS 1 and can compile common projects with open sdk, but how should I do to make it works when comipiling ms plugins?

Also, is there any other solution to translate my ideas to codes? I start iPhone development one month ago, no experience with cocoa/Obj-C before. So your suggestions are very appriciated.

~ Link Bian (卞林扣) Email/MSN: [email protected]

+2  A: 

I think you are asking for too much. It wont be possible to manipulate incoming/outgoing call screens. Ethically, that is.

Zdziarski is a hacker and from his book, you will get many undocumented API calls which will make Apple reject your app. Same goes for Erica Sadun's iPhone Developer's Cookbook.

Chintan Patel
Thanks for your kindly reply :)I have little experience on iPhone development, so many questions now... Official SDK won't support this, so I turn to open SDK now.I just want to implement my ideas now, not plan to submit to apple store.Just bought Erica's book, reading it ...
Linkou Bian
+1  A: 

Something that really helped me get dylibs compiled was using SkylarEC's Xcode template and just appended an extension of '.dylib' onto the binary and sshing it into /Library/MobileSubstrate/DynamicLibraries. I suggest hooking SBCallAlert or SBCallAlertDisplay to get the id of the caller which is usually just an NSString. Play around with it a little bit, those are all the visualizing methods of a call. If you put in an nslog in your custom override method, you can view the output in iPhoneConfgurationUtilitie (windows) or the console in Xcode. From there you would most likley need an index of area codes to comare the callers to. I don't believe you can add subviews to the call, on I intercept and reissue the strings for the views already there.

But you know, apple doesn't like this :P

lemme know if this helps

Sj
Yes, your suggestions are very helpful for me. Also, SkkylarEC gives me some suggestions here - http://www.ipodtouchfans.com/forums/showthread.php?p=1905107#post1905107, he suggested me learning some basic concept first before focus on mobile substrate extension.
Linkou Bian