liveservices / LiveSDK-for-iOS

LiveSDK library for integrating with Live Connect
MIT License
138 stars 84 forks source link

Unable to submit the iOS8 app to Apple by using Xcode 6 with OneDrive integration #40

Closed logansiva closed 10 years ago

logansiva commented 10 years ago

Hi, This is Loganathan from SignEasy. We have integrated the OneDrive SDK in our iOS app (https://itunes.apple.com/app/signeasy/id381786507?mt=8). With iOS8 and Xcode6.0, when we submit the app to Apple, Xcode's binary uploader shows an error as attached below.

xcode6_submission_error

OneDrive SDK integration guide mentions that we need to include the SDK framework in the copy bundle resource, but Apple does not allow the submission of the app binary if we do so. If we don't add the OneDrive SDK framework in the copy bundle section, then SignEasy crashes when i try to initialize the library in our code.

Please let us know how we can fix this. I am reachable at loganathans@getsigneasy.com.

Thanks, Sunil

peternied commented 10 years ago

Logansiva, thanks for sending this our way. Do you have more specifics about the rejection process? unfortunately, I haven't dealt with the apple submission process and our LiveSDKs so I'm not quite sure what is working incorrectly or if there are other models that other app developer use that do not create this problem.

logansiva commented 10 years ago

Hi, Thanks for quick response. Actually it's quite interesting issue. Usually when you try to submit the app to apple first it will try to validate it.

1) during validate usually Xcode pick only SignEasy app but on that day Xcode also picks a random folder "5.0.8..." along with my app. (check attached screenshot -1) This is because of live sdk framework that was added target->build settings->copy bundle resources. I do not know how to resolve that one. But when i removed the sdk from the above settings it does not shows that random folder "5.0.8..." and i was able to submit to apple. (Check the screenshot -2)

Please check the attached screenshots for more info. screen shot-2 screen shot-1

On Mon, Sep 22, 2014 at 8:52 PM, Peter Nied notifications@github.com wrote:

Logansiva, thanks for sending this our way. Do you have more specifics about the rejection process? unfortunately, I haven't dealt with the apple submission process and our LiveSDKs so I'm not quite sure what is working incorrectly or if there are other models that other app developer use that do not create this problem.

— Reply to this email directly or view it on GitHub https://github.com/liveservices/LiveSDK-for-iOS/issues/40#issuecomment-56389670 .

peternied commented 10 years ago

I’ve create a new binary in my own fork, could you give this a try and see if this works for you:

https://github.com/peternied/LiveSDK-for-Android/tree/XCode6

logansiva commented 10 years ago

Hi Peter, I will integrate and trying to validate and let you know :-)

-Logan

On Fri, Sep 26, 2014 at 8:26 PM, Peter Nied notifications@github.com wrote:

I’ve create a new binary in my own fork, could you give this a try and see if this works for you:

https://github.com/peternied/LiveSDK-for-Android/tree/XCode6

— Reply to this email directly or view it on GitHub https://github.com/liveservices/LiveSDK-for-iOS/issues/40#issuecomment-56972638 .

logansiva commented 10 years ago

Hi Peter, I downloaded the sdk from the github but the framework size was zero kb. Please double check on your side. Also, the you named iOS sdk uner Android Tree folder in github?. Check the attached screenshot.

-Logan

[image: Inline image 1]

On Fri, Sep 26, 2014 at 8:26 PM, Peter Nied notifications@github.com wrote:

I’ve create a new binary in my own fork, could you give this a try and see if this works for you:

https://github.com/peternied/LiveSDK-for-Android/tree/XCode6

— Reply to this email directly or view it on GitHub https://github.com/liveservices/LiveSDK-for-iOS/issues/40#issuecomment-56972638 .

peternied commented 10 years ago

Hmm, it looks like my zip file is not complete, you should however be able to download the source and open the project in xcode to produce your own copy, you would just need to grab the resulting binaries from ./src/products/ and place them in your project.

And I pushed to the wrong remote oops, but its still available over there

logansiva commented 10 years ago

There is no such path like "./src/products/". Please confirm that also on your side.

-Logan

On Fri, Sep 26, 2014 at 9:52 PM, Peter Nied notifications@github.com wrote:

Hmm, it looks like my zip file is not complete, you should however be able to download the source and open the project in xcode to produce your own copy, you would just need to grab the resulting binaries from ./src/products/ and place them in your project.

And I pushed to the wrong remote oops, but its still available over there

— Reply to this email directly or view it on GitHub https://github.com/liveservices/LiveSDK-for-iOS/issues/40#issuecomment-56984399 .

vincent-le-normand commented 10 years ago

Any news? Does anyone has a way to make Live SDK working again?

logansiva commented 10 years ago

@peternied Any new SDK version do you have?. If yes then please notify me then i will integrate that iOS sdk and trying to submit to Apple.

logansiva commented 10 years ago

@vincent-le-normand No!!!!. I think still the sdk was not updated. Since it might be in the changing progress.

peternied commented 10 years ago

I pushed an update to https://github.com/peternied/LiveSDK-for-Android/tree/XCode6 which had another trial run of the binaries inside it.

Our expert is back in today, and they'll be taking a look. Thanks for your patience.

aclev commented 10 years ago

Could you try and use the XCode6 branch here https://github.com/liveservices/LiveSDK-for-iOS/tree/XCode6

Thanks

logansiva commented 10 years ago

Sure!!!. I will try this out today and share the result with you guys :-)

-Logan

On Wed, Oct 1, 2014 at 2:33 AM, aclev notifications@github.com wrote:

Could you try and use the XCode6 branch here https://github.com/liveservices/LiveSDK-for-iOS/tree/XCode6

Thanks

— Reply to this email directly or view it on GitHub https://github.com/liveservices/LiveSDK-for-iOS/issues/40#issuecomment-57382355 .

fcantu commented 10 years ago

The XCode6 branch was finally accepted when submitted to iTC, all using Xcode 6.0.1. Thank you!

logansiva commented 10 years ago

Hi Peter, I am getting same error called "Symbols tool failed". This error am getting when i tried to validate the binary with Apple. Also, when ever i am including the live sdk framework in the targets->build phases->copy bundle resources am getting this issue if i remove the live sdk from there it was able to validate with Apple. I attached two screenshots for your reference please refer it. Any thing do you want from my side then we can talk over Skype.

skype:loganathan26

Thanks. -Logan

[image: Inline image 2][image: Inline image 1]

On Wed, Oct 1, 2014 at 2:33 AM, aclev notifications@github.com wrote:

Could you try and use the XCode6 branch here https://github.com/liveservices/LiveSDK-for-iOS/tree/XCode6

Thanks

— Reply to this email directly or view it on GitHub https://github.com/liveservices/LiveSDK-for-iOS/issues/40#issuecomment-57382355 .

logansiva commented 10 years ago

No, still i was not able to succeed the binary validation with Apple. Any idea?. Anything i am doing wrong on my side?. Can you please provide your steps?.

-Logan

On Wed, Oct 1, 2014 at 10:50 PM, Francisco Cantu notifications@github.com wrote:

The XCode6 branch was finally accepted when submitted to iTC, all using Xcode 6.0.1. Thank you!

— Reply to this email directly or view it on GitHub https://github.com/liveservices/LiveSDK-for-iOS/issues/40#issuecomment-57502147 .

fcantu commented 10 years ago

Logan, it was just a matter of replacing the framework file with the newer one for me. Nothing special on my side.

logansiva commented 10 years ago

I also did the same but still getting that error from Apple.

On Thu, Oct 2, 2014 at 12:02 AM, Francisco Cantu notifications@github.com wrote:

Logan, it was just a matter of replacing the framework file with the newer one for me. Nothing special on my side.

— Reply to this email directly or view it on GitHub https://github.com/liveservices/LiveSDK-for-iOS/issues/40#issuecomment-57513106 .

aclev commented 10 years ago

Logan, Are you using Xcode 6 version 6.0.1? Did you follow our install guide section 2.1? Are you using the Xcode 6 branch of the repository? Have you done a clean install of the framework? Starting by deleting the framework from your project?

logansiva commented 10 years ago

Hi, Yes i am using Xcode 6 and i followed all thing that was mentioned in the section 2.1 but that did not work for me. Can we have a Skype call please?.

loganathan26 is my Skype id

-Logan

On Thu, Oct 2, 2014 at 11:33 PM, aclev notifications@github.com wrote:

Logan, Are you using Xcode 6 version 6.0.1? Did you follow our install guide section 2.1? Are you using the Xcode 6 branch of the repository? Have you done a clean install of the framework? Starting by deleting the framework from your project?

— Reply to this email directly or view it on GitHub https://github.com/liveservices/LiveSDK-for-iOS/issues/40#issuecomment-57673488 .

fredrain2014 commented 10 years ago

I meet this issue too, and use 2.2 step as a workaround, it works fine to me. Seems the LiveSDK is built in architectures i386 x86_64 armv7 armv7s arm64, i386 x86_64 are not supported in Xcode 6.

I used Xcode 6 branch by step 2.1, and it pass Apple validation.

aclev commented 10 years ago

Thanks fredrain, Logan at this point the fix has worked for two others, I am unsure of what is causing your issue.

logansiva commented 10 years ago

Hi fredrain, You followed steps 2.2 or 2.1?. Please define. If you followed the step 2.2 the app was not cashing ?. Please clarify.

-Logan

On Thu, Oct 9, 2014 at 1:24 PM, fredrain2014 notifications@github.com wrote:

I've meet this issue too, and use 2.2 step as a workaround, it works fine to me. Seems the LiveSDK is built in architectures i386 x86_64 armv7 armv7s arm64, i386 x86_64 are not supported in Xcode 6.

I used Xcode 6 branch by step 2.1, and it pass Apple validation.

— Reply to this email directly or view it on GitHub https://github.com/liveservices/LiveSDK-for-iOS/issues/40#issuecomment-58474802 .

logansiva commented 10 years ago

Hi Levenberg, Finally i was able to submit :-) the new sdk with section 2.2 made it pass the Apple validation.

-Logan

On Thu, Oct 9, 2014 at 10:04 PM, Ace Levenberg notifications@github.com wrote:

Thanks fredrain, Logan at this point the fix has worked for two others, I am unsure of what is causing your issue.

— Reply to this email directly or view it on GitHub https://github.com/liveservices/LiveSDK-for-iOS/issues/40#issuecomment-58537333 .

fredrain commented 10 years ago

Hi, logansiva & aclev I am sorry, I review my step, I missed “In the Project Navigator, drag the LiveSDK.framework node and drop it into "Build Phases" tab's "Copy Bundle Resources" table in the project target editor.” in step 2.1, and I get the error flowing when I try to compile my project:"Undefined symbols for architecture armv7: "_OBJCCLASS$_LiveConnectClient", referenced from:...", If I only add LiveSDK.framework to Link library in Xcode 6, it compiles successfully.

logansiva commented 10 years ago

Hi Fredrain, Yes, the issue is still there in the live sdk framework do one thing do not use framework just use the source code library and follow the steps in section 2.2. That will make you happy :-)

-Logan

On Tue, Oct 21, 2014 at 11:20 AM, fredrain notifications@github.com wrote:

Hi, logansiva & aclev I am sorry, I review my step, I missed “In the Project Navigator, drag the LiveSDK.framework node and drop it into "Build Phases" tab's "Copy Bundle Resources" table in the project target editor.” in step 2.1, and I get the error flowing when I try to compile my project:"Undefined symbols for architecture armv7: "_OBJCCLASS$_LiveConnectClient", referenced from:...", If I only add LiveSDK.framework to Link library in Xcode 6, it compiles successfully.

— Reply to this email directly or view it on GitHub https://github.com/liveservices/LiveSDK-for-iOS/issues/40#issuecomment-59882114 .

aclev commented 10 years ago

Can you try the XCode6 branch again? I pushed an update that may have been causing problems.

logansiva commented 10 years ago

I will try later because am working on some other feature. May be i will try in next submission of my iOS app

On Tue, Oct 21, 2014 at 11:00 PM, Ace Levenberg notifications@github.com wrote:

Can you try the XCode6 branch again? I pushed an update that may have been causing problems.

— Reply to this email directly or view it on GitHub https://github.com/liveservices/LiveSDK-for-iOS/issues/40#issuecomment-59965359 .

fredrain commented 10 years ago

I use the new library(Xcode6-2), when I drop it to "Copy Bundle Resources" and compile, the error still occurs: Undefined symbols for architecture i386: "_OBJCCLASS$_LiveConnectClient", referenced from: ... ld: symbol(s) not found for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see invocation)

Seems that you still build the library to support "i386 x86_64 armv7 arm64"

aclev commented 10 years ago

fred, it seems that the steps aren't clear enough. When you import the framework you must make sure that the framework is in the Link Binary With libraries phase. If you follow the steps, it will actually remove the framework from the linking stage. This will cause the error you are seeing.

fredrain commented 9 years ago

aclev, I am sorry for reply so late, due to my other busy work. I add LiveSDK.framework(XCode 6 branch) both in "Link Binary with libraries" and "Copy Bundle Resources", but also alert "Unsupported Architectures. Your executable contains unsupported architectures [i386] "

aclev commented 9 years ago

Please see #43 for a fix.

fredrain commented 9 years ago

aclev,

Does it works in your own project? I've remove i386 and x86_64 from LiveSDK(lipo LiveSDK -remove i386 -output LiveSDK, lipo LiveSDK -remove x86_64 -output LiveSDK),add it both in "Link Binary with libraries" and "Copy Bundle Resources", but it doesn't work:

Undefined symbols for architecture i386: "_OBJCCLASS$_LiveConnectClient", referenced from: ....

aclev commented 9 years ago

Lipo will remove i386 binary from the framework. When you remove i386 from the binary you remove the binary needed to run on the simulators. Please follow steps 2.2 to include the source directly as a workaround. If you are using ARC follow the steps in #43 to disable arc.

fredrain commented 9 years ago

Thanks aclev, I already use steps 2.2 as a workaround. But I prefer to use a binary imported in my project. Waiting for your new version..

freecui commented 9 years ago

I have solved this problem. I delete the file in the Copy Bundle Resources