1

I am using Xcode 5. I also added iOS universal framework to my Xcode.

I am trying to create a static library for a particular payment API which requires XCode to have iOS universal framework installed.

These are the steps I have followed up to now.

  1. Installed iOS universal framework to my XCode 5 as Real framework method.
  2. Built the Payment workspace project successfully, and I got the embedded framework in the derived data path.
  3. Added the embedded framework in the previous step to my application.
  4. When I run my application I am getting following compile error

    .../PaymentExchange.embeddedframework/Resources/
    PaymentExchange.storyboardc: Exception while running ibtool: 
    -[NSConcreteMapTable relativePath]: unrecognized selector sent to
     instance 0x7ff61b1e1710
    

    When I click on that error line to jump to the point of error Xcode crashes.

I don't think this is related with iOS universal framework or the payment API. This looks more an like an XCode bug, so I know one obvious answer is to file a bug report. I am mainly asking for any workaround.

I have seen this 2 year old thread in stackoverflow, but I am not sure the accepted answer works now. Furthermore I can't install old version of XCode/ibtool because I am making an iOS 7 only enterprise app.

Community
  • 1
  • 1
Krishnabhadra
  • 34,169
  • 30
  • 118
  • 167
  • I'm having this exact same issue right now. Let me know if you find anything and I'll let you know if I find anything! – AdamG Sep 25 '13 at 22:37
  • I'll also add that pressing the storyboard reference under resources in the folder directory is also crashing my app. – AdamG Sep 25 '13 at 22:44

3 Answers3

0

My solution was to simply include the storyboard that was referenced by itself and then using the .framework rather than .embeddedframework file. However, this only worked because I had the storyboard file for the framework (it is one that I am developing myself). It's not ideal, but it works until this bug is fixed.

AdamG
  • 3,718
  • 2
  • 18
  • 28
0

I was running into this as well. The solution i came up with other than dealing with it and just copying resources over was to create another target for bundle resources. Just build a regular framework. And then go into the scheme and build the bundle resources target along with the framework. Then run some post-build scripts to the bundle into the frameworks build folder so it's easy to grab when you build it.

rfrittelli
  • 1,211
  • 13
  • 15
0

we found that Xcode is crashing when it has to deal with a compiled storyboard in the framework, but that it is fine with an uncompiled storyboard. not only that, but Xcode then compiles the storyboard before adding it to the bundle of the app it's building.

so i just added the code to the 3rd script, (we aren't up to date with the latest, so you'll need to do this in the single python script if you are). this is very simple, but it does the trick.

do this after line 108, after the universal static library is created:


declare -a STORY_BOARDS
STORY_BOARDS=$(find "${BUILT_PRODUCTS_DIR}" -name "*.storyboardc")
for filename in "${STORY_BOARDS[@]}"
do
echo rm -rf filename
rm -rf $filename
done

if [[ ${STORY_BOARDS[0]} ]] then DIR=$(dirname ${STORY_BOARDS[0]}) STORY_BOARDS=$(find "${SRCROOT}" -name "*.storyboard") for filename in "${STORY_BOARDS[@]}" do echo cp -a "$filename" "$DIR" cp -a "$filename" "$DIR" done fi

mickm
  • 515
  • 2
  • 11
  • 20