distributor certificate for iphone app - objective-c

i m an noob.. am i supposed to create distributor certificate for each new app that i develop..or onesingle distibutor certificate can be reused in different apps that i develop...i was able to launch my first app successfully...will there be any problem if i reuse the samebundle identifier(mine is.....com.stephen.cwww) in the upcoming app..

You will need to create another distribution certificate inside the developer portal. For testing you can reuse provisioning profiles like the *. version. As far as distribution goes, you will have to create a 2nd profile for the 2nd app.

Related

Xcode 6 Developer Account Issue

I am trying to upload a build on TestFlight and trying to pass by the step where I have to add developer account to the Xcode preferences. It's partly a good step but I don't like the mess, it creates with certificates and provisioning profiles. Any chance I can either bypass the developer account setup or the provisioning profiles.
Unfortunately there is no way to deploy your app to actual devices without creating certificates and provisioning profiles. This applies to both Development and Ad Hoc/Testflight distribution.
It's one of the necessary evils of iOS development.

Install Certifiace on iPad into Keychain using iTunes

I was unable to find a way how to install certificates on my iPad to a keychain using iTunes (or other tool that runs on mac os x).
I need to be able to set the group (kSecAttrAccessGroup, eg. "XKFABCDEFGH.com.mycompany.myapp") to store the certificate under. Since there is a chain of certificates, I'll be installing all of them up to the root one. Also, the last (leaf) certificate will have private part (don't know if that makes any difference).
The alternative to this is to write a small app and compile the certificates as its resources. Then I can use SecItemAdd / SecItemUpdate to write those certificates. Downside to this is that I want to install different certificate on every device, so I'll have to compile the app several different times.
Note: The app is to be a B2B, eg. not an application for public iTunes market!
Edit: I want to use the certificates ASIHTTPRequest, I do not require that those certificates are recognized by the iOS itself (unless it will collide with the ASIHTTPRequest library).

Why I don't have any provisioning profiles in Devices menu of Xcode? How to fix this?

I'm in the process of learning iOS development and app submission process. Before trying to archive my application I only tested and debug it on iOS 6 simulator and now I want to deploy this application on real device. And during this I encountered with some problems.So, what steps I must implement in order to successfully archive my application and get an .app and then an .ipa file of it. How to setup provisioning profiles and solve code signing error?
You need to go to the provisioning portal at http://developer.apple.com and generate provisioning profiles for your applications there.
If you have not paid your developer license fee you will not be able to install your apps on real devices.
You will need to get a Developer and or Distribution certificate including their respective Private keys. You will also need a Team Provisioning Profile, or a Provisioning Profile specifically made for the app. You can either make all these yourself through the provisioning portal at http://developer.apple.com Or if you are working for someone else who has a developer program license, they could possibly provide you with all these.
The provisioning profile describes all the steps you need to take to implement the certificates and provisioning profiles so you can build and deploy / distribute your app.

iOS - Prevent iPhone Configuration Profile from being deleted OR check to see if it's installed

I'm working on an iOS enterprise app that relies on an Configuration Profile being put on the phone. Unfortunately, the user can "cancel" this profile, which really screws with our app.
So I was wondering if a) is it possible to prevent a configuration profile from being deleted OR
b) is there a way to check to see if a configuration profile is installed already (say, at runtime, then we can just install it again if it's not there)?
If you want the configuration profile not to be tampered with / disabled by the user, this is possible! If you're using Apple Configurator to build your .mobileconfig file in the generals tab select security as never. Be aware: once the profile is installed on the device it cannot be reverted unless you restore the device
The long story short is there is no current documented way to even programmatically call / install a configuration profile (.mobileconfig) file onto the device: so if you're thinking about checking whether the profile exists and if not to install it, it's impossible (as for available documentation thus far) - if you do find a way let me know
Note:
.mobileconfig files can only run through Safari / Mail.
This similar SO discussion may help: Installing a configuration profile on iPhone - programmatically
It is possible to check is .mobileconfig is installed.
What you need to do is:
Create CA (certificate authority) and export it as .cer.
Issue certificate using created CA and export is as well as .cer.
Using Apple Configurator app add CA .cer in the certificates area.
Mobile configuration profile will have CA .cer.
Issued certificate (on step two) add to app bundle.
Using Security framework evaluate (SecTrustEvaluate) issued
certificate on step 2.

Signing an Android system app (research project)

I am developing a proof-of-concept tool for an internal research project.
We have specific needs which can only be met by running our application as a system app, like the Settings or Phone app.
Am I right in thinking that the only way to run an application under the system user (uid=1000) is by setting the following in the manifest:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.frogdesign.desktop"
android:sharedUserId="android.uid.system" >
and signing my application with the platform certificate?
If so, for a given phone, e.g. Galaxy S, this would require us to sign using Samsung's certificate. Not going to happen, right.
So if we root the phone and stick something like cyanogenmod on it, would the required certificate be cyanogenmod's platform certificate?
Is this generally made available?
I am fairly confident that you would not be using the manufacturer's key. On my Galaxy S, the Gmail app is a system app, and you can update it from the Android Market (i.e. it's signed, if it is at all, by Google and not by Samsung).
If the phone is deodexed, you should be able to just move the app to /system/app/ (or /system/priv-app/ on newer OS versions). This requires a rooted phone, so that you can mount the system partition as writeable. This is in conjunction with your manifest settings, of course. I'm not sure if that's sufficient, since I haven't done this myself, but it's something to try.