Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

xcode: support no preselected profile #1

Open
lacostej opened this issue Feb 23, 2012 · 0 comments
Open

xcode: support no preselected profile #1

lacostej opened this issue Feb 23, 2012 · 0 comments

Comments

@lacostej
Copy link
Owner

Today we can only update a profile instead of automatically one it it isn't properly selected. It should be possible to select a profile automatically instead.

There are a few problems to solve:

  1. I ve failed to implement a working command line pbxproj editor properly using plistBuddy and I am currently using sed
        echo "INFO Replacing ${current_pp_uuid} with ${new_pp_uuid} in $file"
        # this doesn't work as it converts the file into XML and we lose the comments
        # echo ./pbxproj_pp_uuid.sh $file "$configuration" set $new_pp_uuid
        sed "s/${current_pp_uuid}/${new_pp_uuid}/"  ${file} > ${file}.new

This should have called something like

        $plistBuddy $file -c "Set objects:${buildConfigurationObjId}:buildSettings:PROVISIONING_PROFILE[sdk=iphoneos*] ${new_uuid}" 2>/dev/null

but didn't work in my tests. At least, it converted the file to XML and I wanted to keep the original format in order to ensure the config wasn't changed elsewhere.

You can test this using something like

./pbxproj_pp_uuid.sh project.pbxproj 'Ad Hoc' set 9274AB2A-6F96-4BFF-B320-------------

Now XCode may still be able to read XML so this is perhaps not such a big problem.

But for the selection to work, one needs to modify more than just the value of the PROVISIONING_PROFILE.

These are the changes in the project file when I manually go from the default selection to a particular PP:

--- ../project.pbxproj  2012-02-23 10:48:51.000000000 +0100
+++ /Users/lacostej/Code/WWTK/DE.git/target/DragonBox_IOS/Unity-iPhone.xcodeproj/project.pbxproj    2012-02-23 10:57:53.000000000 +0100
@@ -535,7 +535,7 @@
                    armv6,
                    armv7,
                );
-               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution: We Want To Know SARL";
                GCC_C_LANGUAGE_STANDARD = c99;
                GCC_ENABLE_CPP_EXCEPTIONS = NO;
                GCC_ENABLE_CPP_RTTI = NO;
@@ -547,7 +547,7 @@
                GCC_WARN_UNUSED_VARIABLE = YES;
                OTHER_LDFLAGS = "-Wl,-S,-x";
                PREBINDING = NO;
-               "PROVISIONING_PROFILE[sdk=iphoneos*]" = "";
+               "PROVISIONING_PROFILE[sdk=iphoneos*]" = "9274AB2A-6F96-4BFF-B320-------------";
                SDKROOT = iphoneos4.2;
            };
            name = "Ad Hoc";

So we would also need to modify the CODE_SIGN_IDENTITY. This isn't hard in itself, but today I am not managing certificate at all in neither the apple_dev_center.rb script nor the xcode related ruby & bash scripts.

https://github.com/quadion/iOSValidation is an interesting thing to look at for certificate management

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant