3

Is it required for a cocoapod framework to be open source? I have created a cocoapod swift framework on git.

And when I create an ios application and config the pod information in my Podfile.

It works fine.Now I want to protect my source code, expect other guys can use my framework, but can not see my framework source code.

Is that possible?

Kara
6,23616 gold badges54 silver badges58 bronze badges
asked Jan 5, 2016 at 10:12
0

2 Answers 2

5

Yes, it is possible. You can create a framework, compile it and distribute as a cocoapod. Use the vendored_framework or vendored_frameworks key in your podspec. An example podspec is the Google-Mobile-Ads-SDK pod that is distributed exactly that way.

{
 "name": "Google-Mobile-Ads-SDK",
 "version": "7.6.0",
 "summary": "Monetize your mobile applications with Google ads",
 "description": "The Google Mobile Ads SDK is the latest generation in Google mobile advertising featuring refined ad formats and streamlined APIs for access to mobile ad networks and advertising solutions.",
 "homepage": "https://developers.google.com/admob/",
 "license": {
 "type": "Copyright",
 "text": "Copyright 2011 Google Inc. All Rights Reserved."
 },
 "authors": "Google Inc.",
 "platforms": {
 "ios": "6.0"
 },
 "source": {
 "http": "https://dl.google.com/googleadmobadssdk/googlemobileadssdkios-7.6.0.zip"
 },
 "preserve_paths": "GoogleMobileAdsSdkiOS-7.6.0",
 "vendored_frameworks": "GoogleMobileAdsSdkiOS-7.6.0/GoogleMobileAds.framework",
 "weak_frameworks": "AdSupport",
 "frameworks": [
 "AudioToolbox",
 "AVFoundation",
 "CoreGraphics",
 "CoreMedia",
 "CoreTelephony",
 "EventKit",
 "EventKitUI",
 "MessageUI",
 "StoreKit",
 "SystemConfiguration"
 ],
 "requires_arc": true
}
answered Jan 5, 2016 at 10:25
Sign up to request clarification or add additional context in comments.

11 Comments

you mean I need to add the 'vendored_frameworks' line in my podspec? How about the value of it, I can not understand well what is this property used for.
"vendored_frameworks" is used to integrate third custom framework, why will it protect my source non-open.
Do not include source code in your pod, only the compiled framework.
only add the 'vendored_frameworks' property will work? What should be its value? My .framework path?And where the path is relative to?
Take a look at the example. The compiled framework is uploaded to some server, there is no source code at all.
|
2

CocoaPods closed source

CocoaPods[About] supports open source and closed source(binary) distribution

To create closed source you should

  1. Create a fat binary[Vocabulary] - to allow working with it on simulator and real device
  2. Zip and publish(e.g. zip attachment for GitHub)

The key point is to use parameters in your podspec:

  • source - http link to a .zip file with a fat binary
  • vendored_frameworks - path to your framework in the .zip file pointed by the source

Take a look at guidelines here, here

answered Sep 25, 2019 at 10:22

Comments

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.