Discovering the version of iOS of an iOS Binary - iphone

Is there a way to know for which version of iOS a given application was compiled by inspecting its iOS binary or another file inside the app package?
thanks

If you have the whole package, and not solely the compiled binary, one of the keys inside Info.plist would probably tell you.

Related

Is it possible to develop iphone, ipad apps using ipad

Usually apple developers use Mac to develop there apps for iphone and ipad. I need to know whether it is possible to develop the same apps using ipad.
No you can't, there is no SDK and XCode running on iOS (yet).
Short answer: no. You need XCode for development, which is Mac-only.
Xcode is not available for the iPad, so I would say practically no at this point.
No, it isn't. Xcode and the iOS SDK is only available for the Mac.
No.There is no XCode or ios SDK for ipad only.
Looking through some forums, it appears it's not possible and unlikely to happen anytime soon...
http://forums.macrumors.com/showthread.php?t=856312
http://www.mac-forums.com/forums/ipad-hardware-accessories/196910-xcode-ipad.html
Apple's XCode is only available on Mac, for a beginning.
Basically NO you can't... you can not compile the app on iPad/iPhone. But think in other way.. do you want to give this functionality to your app users right? then.. you can do one thing.. you can create a template of project which will run using a xml file. you can create this xml file on iPad/iPhone using some interface. (like putting a button on area and set its color). Then you can send this xml file on server. Here you can manually put this xml file in your template project and can compile the app manually on your system. Then you can submit this app to app store for your app users. You can charge them for this.
This is something similar to http://mobileroadie.com/ but on iPad

building libsox for iOS question

I want to build libsox for iphone device but I havent got any luck doing so. I am just wondering if it is even possible to build this library for iphone....
einsteinx already posted from my blog ;) but here both links again
First post explains how you build libsox:
http://uberblo.gs/2011/04/iosiphoneos-equalizer-with-libsox-making-it-a-framework
The second explains how to use it:
http://uberblo.gs/2011/04/iosiphoneos-equalizer-with-libsox-doing-effects
please up the answer if it helped you! thanks!
http://uberblo.gs/2011/04/iosiphoneos-equalizer-with-libsox-making-it-a-framework
^ This is a great guide to build a libsox framework for iOS. Just place the script in the libsox source folder and run it. It builds a universal framework that works on arm6 (old iphone and ipod touch), arm7 (new iphone, ipod touch, and ipad), and i386 (simulator).
Basically lib sox library support for audio with some default formats. If we need more audio format support we need to compile required audio format library as per the requirement.
Eg: Wav - Default for in lib sox
Eg: mp3 - Need to compile libmp3
Yes of course!!!.We cannot compile the libsox for iOS Simulator and iOS phone at single time. Because of simulator and iOS device contains different architectures.
Simulator arch - xi386 , x64
iPhone arch - armv6, armv7 , arm64
So, While compiling we mentioned / enabled the simulator arch mean whole compilation will compile based on the simulator. Because all supporting files and libs generated first enabled architecture. Finally we have to compile both simulator and ios device separately after that can use in ios development.
If want to be single library , we need to merge the both simulator and device libs by using libo tool via terminal.
Nevermind, I think I have got it built now... it seems that if i build for the simulator first then device it is not able to compile for the device. I have done this again with just the device only and it works now... strange indeed...
A latest version is available here. Both build script and prebuilt library are available.

Problems uploading the binary of my app to the Apple Store (Unaccepted version of the SDK)

I’m having a problem when I try to upload the binary of my app to the Apple Store. Once I upload the file, the following message appears at the top of the page:’The binary you uploaded was invalid. Apple is not currently accepting applications built with this version of the SDK.’
The thing is that I have tried with every combination of base SDK / Target deployment objective with both xcode 3.2.2 and 3.2.3 (that includes the new SDK4 – final version) and the message keeps on appearing every time I upload a file.
Does anyone know what SDKs are being accepted at the moment by Apple? What combination of Base SDK / Target deployment objective should I use if I want my app to run on the iPad (SDK 3.2) and iPhones with SDK > 3.1.3?
Might it be because I generate my distribution-binary using a simulator device instead of a real phone?
Thank you very much in advance for your help.
Best regards,
Jorge.
Might it be because I generate my distribution-binary using a simulator device instead of a real phone?
Exactly. If you're building for the simulator, you're building for an intel cpu, not an arm. You have to select "device" before building your distribution binary.

iPhone & iPad - how to include frameworks in a project with two targets

I have a project that was developed for iPhone OS 2.0. I am transforming this project to have two targets (iPhone & iPad). This will not be a universal binary. It will have two different binaries.
In the old project, if I right click on a framework and choose REVEAL IN FINDER, I see the framework is a 2.0 one, for example, UIKit is linked to the path
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/...
the same framework for 3.2 is on
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.2.sdk/...
So, they are different files, in different paths.
How should I proceed? I suppose this is a problem. I think I must link each target to a different version of the framework, but how do I do that?
thanks for any help.
The /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/ file is just the sysroot. The actually linked file is still /System/Library/Frameworks/UIKit.framework/UIKit.
The SDK version also specify the minimum requirement the device must run on. As long as you're only using the public SDK there should be no problem recompiling for 3.2 with no change (except lots of "deprecated" messages). But compiling for 3.2 means devices having < 3.2 cannot use your app.
If there's no big change I suggest keep the iPhone version as-is. Then clone the project for iPad and consider how to fit your UI elements into 1024x768, is it necessary to take advantage of the new capabilities, etc.

Sqlite3 using in iPhone

i developed one iPhone application, in it i used sqlite3 for data storage . it is working
fine in emulator. i have one doubt that is ,when we install this application in a real iPhone is it working properly with out any additional process..
i mean is there any need to install sqlite3 in iPhone separately ?
pls help me ..
thanks and regards.
SQLite is compiled directly into your app as a single C file (the amalgamation) that you include in the build. This means that there is no library that you need to install separately.
it should be fine, I did not have to do anything weird like installing sqlite3 on the iPhone. Best bet is to get hold on an iPhone and put your application on it and test it. I have heard that some people find something crashes on the iPhone but not on the simlulator so its better to be safe than sorry (note its a simulator not an emulator so it is not going to emulate an iPhone 100%).
Yes, it should work fine. But you should consider migrating to Core Data: it provides a powerful way to deal with data without you having to muck around in sqlite.
If you use the sqlite dynamic library that is installed on the iPhone, how do you guarantee that header file version your app was compiled against is compatible with the dynamic library on the iPhone. This can happen when compiling against a different version of the SDK with differing sqllite versions then what the iPhone has installed.