Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iOS Frameworks with x86 Slice for Simulator + Appstore Approval

I am building and distributing an iOS Framework library for consumption by other developers.

Recently I ran into a bug (feature?) of the Apple Store whereby if an iOS Framework is built with the x86 Architecture (for the simulator) then the entire app fails App Store approval with the error:

[Transporter Error Output]: ERROR ITMS-90087: "Unsupported Architectures. The  
executable for blah.app/Frameworks/MyLib.framework contains 
unsupported architectures '[x86_64, i386]'."

What is the best practice here? Should I:

  1. Include debug (with simulator) and release (without simulator) builds of the framework?

  2. Provide a script to strip x86 from the Framework before end-users deploy their apps?

  3. Dynamic frameworks? Or anything else?

My preference is to burden end-users with as few steps as possible so the iOS Framework I'm building should 'just work'. However, fairly new to iOS App Store certification so would appreciate any pointers whatsoever!

like image 551
Dr. Andrew Burnett-Thompson Avatar asked Oct 29 '22 23:10

Dr. Andrew Burnett-Thompson


1 Answers

Best practice way for

  1. You need to build separately for device and simulator. It's very basic way to debug and release.

  2. Yes . This is easy and best way. Release without simulator is basic way for sell and cannot debug it while develop.

  3. Professional level can extract merged simulator build / architecture from the framework using script. But it could be additional task.

like image 67
ramya Avatar answered Nov 15 '22 07:11

ramya