我有一个分享扩展的应用。我的应用取决于[Authorize]
public ActionResult Excel(string user)
{
var products = new System.Data.DataTable("Activity"); // Creates the DataTable
products.Columns.Add("Project", typeof(string)); // Adds a column
IEnumerable<Project> lp = _service.List(strUser, strYear, strMonth); // Creates a list of the projects
UserActivityDb db = new UserActivityDb(System.Configuration.ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString);
lp = lp.Where(p => (true == db.ExistUserActivity(int.Parse(strYear), int.Parse(strMonth), ListDaysOfMonth, p.ProjectId, strUser)));
List<string[]> lstInts = new List<string[]>();
foreach (Project p in lp)
{
string strInts = db.getFormattedData(int.Parse(strYear), int.Parse(strMonth), ListDaysOfMonth, p.ProjectId, strUser, null, 0);
string[] ints = strInts.Split(';');
lstInts.Add(ints);
products.Rows.Add(p.Name, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); // Adds an empty row to be filed with the correct values later
}
int i = 0;
int y = 1;
int z = 0;
foreach (string[] tab in lstInts) // Adds the activity data cell by cell
{
while (tab[z] != "")
{
products.Rows[i][y] = tab[z];
y++;
z++;
}
i++;
y = 1;
z = 0;
}
var grid = new GridView();
grid.DataSource = products;
grid.DataBind();
Response.ClearContent();
Response.Buffer = true;
Response.AddHeader("content-disposition", "attachment; filename=Activity.xls");
Response.ContentType = "application/ms-excel";
Response.Charset = "";
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
grid.RenderControl(htw);
Response.Output.Write(sw.ToString());
Response.Flush();
Response.End();
return View("Excel");
}
,我的分享扩展取决于CocoaLumberjack/Default
。当我使用CocoaLumberjack/Core
构建时,出现以下错误:
use_frameworks!
2015-10-28 10:46:04.015 ruby [53095:3440989]警告:该文件 “CocoaLumberjack.framework”的引用是多个成员 团体(“产品”和“产品”);这表明情况不正常 项目。仅保留其中一个组中的成员资格 (但目标成员资格不受影响)。如果你想要一个 引用多个组中的同一文件,请添加另一个 引用相同的路径。
$ rm -rf Pods Podfile.lock; pod install
Updating local specs repositories
Analyzing dependencies
Downloading dependencies
Installing CocoaLumberjack (2.0.3)
Generating Pods project
PBXFileReference - /mainGroup/children/children:displayName:CocoaLumberjack.framework,explicitFileType:wrapper.framework,includeInIndex:0,isa:PBXFileReference,name:CocoaLumberjack.framework,path:CocoaLumberjack.framework,sourceTree:BUILT_PRODUCTS_DIR,,displayName:CocoaLumberjack.framework, explicitFileType:wrapper.framework,includeInIndex:0,赛:PBXFileReference,名称:CocoaLumberjack.framework,道:CocoaLumberjack.framework,sourceTree:BUILT_PRODUCTS_DIR ,,显示名:Pods_MyProject.framework,explicitFileType:wrapper.framework,includeInIndex:0,赛:PBXFileReference ,名称:Pods_MyProject.framework,道:Pods_MyProject.framework,sourceTree:BUILT_PRODUCTS_DIR ,,显示名:Pods_MyShare.framework,explicitFileType:wrapper.framework,includeInIndex:0,赛:PBXFileReference,名称:Pods_MyShare.framework,道:Pods_MyShare.framework, sourceTree:BUILT_PRODUCTS_DIR ,,显示名:产品,赛:PBXGroup,名称:产品,sourceTree:,/产品/儿童/显示名:CocoaLumberjack.framework,explicitFileType:wrapper.framework,includeInIndex: 0,赛:PBXFileReference,名称:CocoaLumberjack.framework,路径:CocoaLumberjack.framework,sourceTree:BUILT_PRODUCTS_DIR,/产品/ CocoaLumberjack.framework
这是我的Integrating client project
Sending stats
Sending stats
Pod installation complete! There are 2 dependencies from the Podfile and 1 total
pod installed.
[!] [Xcodeproj] Generated duplicate UUIDs:
:
Podfile
通过让我的两个目标使用相同的workspace 'MyWorkspace'
xcodeproj 'MyProject/MyProject.xcodeproj'
use_frameworks!
source 'https://github.com/CocoaPods/Specs.git'
link_with 'MyProject', 'MyShare'
target :MyProject do
pod 'CocoaLumberjack', '~> 2.0.1'
end
target :MyShare do
pod 'CocoaLumberjack/Core', '~> 2.0.1'
end
子规,我能够解决这个问题。我的工作CocoaLumberjack
如下:
Podfile
为什么这种解决方法是必要的?当我在两个目标之间实际具有不同的子规范依赖关系时会发生什么?
修改
这看起来与CocoaPods Issue 4370有关。我在github上发布了我的示例项目。
答案 0 :(得分:18)
这是Cocoapods中的一个错误 - 可能它很长时间没有被修复 -
在终端上运行export COCOAPODS_DISABLE_DETERMINISTIC_UUIDS=YES
似乎暂时取消了警告。
2016年2月编辑:
在Cocoapods的最新版本中,现在已将其移至Podfile的安装部分:install! 'cocoapods', :deterministic_uuids => false
答案 1 :(得分:3)
这是由不同目录中的重复文件引起的。
有时,当您将文件移动到另一个目录时,Xcode可能会出错并重复文件。这些重复的文件是孤立的,尚未添加到Xcode项目中,因此一切正常。但是,pod install
接受了Development Pods中的所有文件,包括这些孤儿。
要找到这些重复的文件,我有以下两种解决方法,
解决方案1
find . -path ./.git -prune -o -type f -exec basename {} + | sort | uniq -d
其中-path ./.git -prune -o
表示查找时排除.git
目录
解决方案2
duplicateUUIDs.txt
的文本文件中grep -E '[a-zA-Z+]+\.(h|m|swift)' -o duplicateUUIDs.txt | sort | uniq -d
下一步
删除不必要的文件。
答案 2 :(得分:0)
添加应用程序扩展时遇到此错误。
我通过将我的应用目标中的platform :ios, '7.0'
行重复到我的新目标来修复它。
确保两个目标使用相同的平台解决了我的问题。
答案 3 :(得分:0)
通过以下步骤为我解决的问题:(我也按照建议的@ ale0xB进行了更改)
答案 4 :(得分:0)
在 podfile 中写下这一行 ==> 安装! 'cocoapods', :deterministic_uuids => false
例如: 平台:ios,'10.0' 安装! 'cocoapods', :deterministic_uuids => false
目标 'WheeboxExamSheetScanner' 做 config = use_native_modules!