Decompile app IOS to get source code - Objective C - objective-c

I have an app that I need to get the source code to update the app. Customer doesn't have source code, only the app file from apple store. Is there any tool or method to get it?
Thanks

You cannot decompile an iOS app to get the source code. Once it is submitted to the store, even the dSYM file is stripped, so errors don't provide the source code context. I'm afraid you are out of luck.
As #Richard J. Ross III has mentioned, there are tools that may help you get the assembly, but you will never be able to get the actual source code back. Depending on the detail of the app, you may just want to rewrite the application.

This may help you:
https://www.youtube.com/watch?v=0RLoNRmvT3Q
P.S: I found it on the internet, it's not mine.

Related

Mac: HockeyApp SDK 3.1 programmatically add attachments to Feedback Messages?

I'm noticing that the only platform HockeyApp doesn't intuitively allow attachments for Feedback right now is Mac. Does anyone have insight as to how I can append a simple string to a feedback message or even an NSData blob?
Looking through the documentation I see two protocols that can be implemented.
1) BITHockeyManagerDelegate
2) BITCrashManagerDelegate
Whats puzzling me is that neither of these have a reference to the FeedbackManager. The only thing that's somewhat relevant is the CrashManagerDelegate's mention of
- (BITHockeyAttachment *)attachmentForCrashManager:(BITCrashManager *)crashManager Though, this seems to only be called when sending a crash report. Perhaps I'm wrong?
The HockeyApp git repo seems to have a class, BITFeedbackManagerPrivate.h, containing the functionality I'm looking for, but is inaccessible from HockeyApp's pre-built .dylib.
After building from source, seemingly no other class exposes it's methods, so I'm trying to figure out if this feature has been implemented yet or if I'm missing something.
Any insight is greatly appreciated. Cheers,
Zack
The repository doesn't have a feature for that at the moment, not even the Private headers. The features are available on the iOS SDK and will soon be brought over to the Mac SDK. So far the demand for things like this had been very low so the priority wasn't that high.
Please file a ticket with support or the GitHub repository for such requests, so we can quickly answer and react and don't have to search StackOverflow :)
Thanks!

Importing Code From Online

I know its a bit of a far fetched question.
But is it possible to import code from online, like say I had a .h and .m file on my website server and in the code I wanted to use it would I be able to import it? And How?
I ask this because it makes it loads easier to update an app if all they need to do is reload the app and the app changes to the latest version.
If you're talking about a Mac OS X application, then yes it's possible. No need to share your source code, just compile on the server and have the app download the new binary.
However, if your App needs to go through the App Store, which is necessary for iOS apps, then this surely is not possible. The only thing you can do is streamline the submission process as much as possible (see this question).
If you love the idea of being able to push new code at any time, consider making a web app. There's lots of stuff you can do these days.
I'm not 100% (maybe 95%) sure but I think storing objc code online to keep it auto-upgradable is not possible since the app isn't able to rebuild itself.
But if you want you could do a generic app that firstly fetches an XML/plist (for example) stored online to retrieve data and the app is set to read it and present different behaviours depending on that, but you'll have to code it previously in a generic way to support dynamic changes.
Hope this helps.

IOS - Execute external bundles/libraries at runtime

I've read lots of things about if it's possible or not.. and I'm a bit confused :S
I'm trying to download from a server a bundle, or something like that and execute it at runtime (a xib with its controllers and own libs).
There are people that says that is possible but not allowed at apple store, other says that there is no way..
It doesn't matter if I can't store it in apple store.
If it's possible, how can I create the bundle or executable file?
How can I link it from the main project?
Thanks!

Objective-C playground?

Is there any sort of Mac app, Web app, or others like JSFiddle for Objective-C/Cocoa purposes?
It's not entirely the same, but look into F-Script: http://www.fscript.org/
It lets you rapid-prototype and experiment. You can also hook it into existing apps very easily. It has been invaluable for me for certain types of UI debugging.
I've also found CodeRunner to be quite handy for boilerplate app generation and one-click console running to try language snippets out. Available on the AppStore at a price.
I created playgrounds for Objective-C on top of code injection, so you can experiment with normal iOS simulator, it's open source on GitHub
Video showing them in action

Xcode 4 built-in help for your own files

Xcode 4 has a very nice built-in help/documentation that you can access e.g. by alt-clicking an identifier in the code, or by opening the help panel in the right sidebar. However, this only works for classes and methods provided by Apple. Is there a way to write some kind of documentation comments (e.g. like the Javadoc comments in Java) in your own code to make Xcode display them in those documentation panels?
http://developer.apple.com/library/mac/#documentation/DeveloperTools/Conceptual/HeaderDoc/intro/intro.html
It's maintained by Apple so it should be well supported. I never actually used it, may try it later.
Ok, it looks like there's no good tool really... there are a few different ones, but they're imperfect and difficult to configure. I couldn't get Doxygen or Appledoc to work, and the tool mentioned by Avizzv92 is referred to as "a pile of poo" elsewhere, so I'd rather not try it... :)
Info that I've found:
How do you document your source code in Xcode?
http://wangling.me/2010/07/documentation-set-generation-tool-in-xcode-is-wanted/
http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
http://www.gentlebytes.com/home/appledocapp/
http://lists.apple.com/archives/xcode-users/2011/Apr/msg00238.html