Closed reficull closed 11 years ago
请确认你使用的是 Sharekit v1 还是 v2 版本。在我当前的 v2 版本已经集成了新浪微博 SSO SDK(包括 v2 的 API)
我是使用這個地址clone的 https://github.com/icyleaf/ShareKit.git
填好sinaweibo的consumerkey和 secret之後,example項目在分享時出現提示 applications over the unaudited use restrictions!
在加到我的項目中後,在去到授權頁後會進入sinaweibo的app,但就沒有返回項目,我以為是不支持的,這是甚麼問題呢
你查看下两个地方:
SHKSharers.plist
文件是否存在 SHKSinaWeibo
defaultFavorite*Sharers
/* Favorite Sharers
These values are used to define the default favorite sharers appearing on ShareKit's action sheet. */
我想請教個編譯方面的問題,如果要增加個模塊,是否要在Targets的Static Library中增加新模塊的.m文件,才可以被父項目看到呢?我在Static Library的Build Phases中增加了新模塊的.m文件,但在編譯的link 階段出現 Duplicate的問題,請問Icyleaf是如何將douban,renren這些模塊加入Static Library這個Target?
Static Library
和 Sharekit.bundle
是引用 Sharekit 的唯一途径,所以出了单独模块的 target,还必须把它们加入 Satic Library
。引入的方法只有在 Build Phases -> Compile Sources 添加即可。
出现 Duplicate 是因为重复引用编译,需要排冲处理。
這個排衝處理就是技術了,能否給點思路,因為不明白如何重復引用了文件?添加一個文件就出4個duplicate問題
duplicate symbol _OBJCIVAR$_SHKSinaWeiboV2.accessTokenString in: /Users/user/Library/Developer/Xcode/DerivedData/ShareKit-egafyefchgbycnbdlplzhkcferem/Build/Intermediates/ShareKit.build/Debug-iphoneos/Demo App.build/Objects-normal/armv7/SHKSinaWeiboV2.o /Users/user/Library/Developer/Xcode/DerivedData/ShareKit-egafyefchgbycnbdlplzhkcferem/Build/Products/Debug-iphoneos/libShareKit.a(SHKSinaWeiboV2.o) duplicate symbol _OBJCIVAR$_SHKSinaWeiboV2.uid in: /Users/user/Library/Developer/Xcode/DerivedData/ShareKit-egafyefchgbycnbdlplzhkcferem/Build/Intermediates/ShareKit.build/Debug-iphoneos/Demo App.build/Objects-normal/armv7/SHKSinaWeiboV2.o /Users/user/Library/Developer/Xcode/DerivedData/ShareKit-egafyefchgbycnbdlplzhkcferem/Build/Products/Debug-iphoneos/libShareKit.a(SHKSinaWeiboV2.o) duplicate symbol _OBJCCLASS$_SHKSinaWeiboV2 in: /Users/user/Library/Developer/Xcode/DerivedData/ShareKit-egafyefchgbycnbdlplzhkcferem/Build/Intermediates/ShareKit.build/Debug-iphoneos/Demo App.build/Objects-normal/armv7/SHKSinaWeiboV2.o /Users/user/Library/Developer/Xcode/DerivedData/ShareKit-egafyefchgbycnbdlplzhkcferem/Build/Products/Debug-iphoneos/libShareKit.a(SHKSinaWeiboV2.o) duplicate symbol _OBJCMETACLASS$_SHKSinaWeiboV2 in: /Users/user/Library/Developer/Xcode/DerivedData/ShareKit-egafyefchgbycnbdlplzhkcferem/Build/Intermediates/ShareKit.build/Debug-iphoneos/Demo App.build/Objects-normal/armv7/SHKSinaWeiboV2.o /Users/user/Library/Developer/Xcode/DerivedData/ShareKit-egafyefchgbycnbdlplzhkcferem/Build/Products/Debug-iphoneos/libShareKit.a(SHKSinaWeiboV2.o) ld: 4 duplicate symbols for architecture armv7 clang: error: linker command failed with exit code 1 (use -v to see invocation)
明白了,在拖文件進入工程彈出的對話框中,不要勾選 Add to Demo Targets,問題解決!
:)
我增加了sina weibo v2模塊,然後編譯和運行example程序沒有問題,但當我將之作為子程序加入我的程序後後,這個模塊卻消失了,在分享菜單中不出現,
通過斷點,發現在 SHKshareMenu.m 的section方法中這一句,沒有通過類名生成對應的class class = NSClassFromString(sharerClassName);
是不是要做個靜態編譯這個模塊之類的工作才能讓父項目調用到呢?